From 72142768dfd09d605349b069c79f504af8fda29a Mon Sep 17 00:00:00 2001 From: tehtelev <50070668+tehtelev@users.noreply.github.com> Date: Sat, 11 Jul 2026 12:29:28 +0300 Subject: [PATCH] Refactor Equals method for EvolvingNatFloat --- Math/EvolvingNatFloat.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Math/EvolvingNatFloat.cs b/Math/EvolvingNatFloat.cs index 5efbb22a..17641e97 100644 --- a/Math/EvolvingNatFloat.cs +++ b/Math/EvolvingNatFloat.cs @@ -156,10 +156,16 @@ public static EvolvingNatFloat CreateFromBytes(BinaryReader reader) return evo; } - public override bool Equals([NotNullWhen(true)] object obj) + // Add a typed overload + // This way we avoid constant conversions of EvolvingNatFloat to object + public bool Equals(EvolvingNatFloat other) { - if (obj is not EvolvingNatFloat enf) return false; - return enf.Transform == Transform && enf.factor == factor; + return other.Transform == Transform && other.factor == factor; + } + + public override bool Equals(object obj) + { + return obj is EvolvingNatFloat other && Equals(other); } public static bool operator ==(EvolvingNatFloat left, EvolvingNatFloat right)