@classdef.method("equal?")
    def method_equalp(self, space, w_other):
        if space.is_kind_of(w_other, space.w_float):
            other = space.float_w(w_other)
            return space.newbool(
                self.floatvalue == other or
                (math.isnan(self.floatvalue) or math.isnan(other))
            )

        try:
            return W_NumericObject.retry_binop_coercing(space, self, w_other, "equal?")
        except RubyError as e:
            if isinstance(e.w_value, W_ArgumentError):
                return space.send(w_other, "equal?", [self])
            else:
                raise
dataset/ETHPy150Open topazproject/topaz/topaz/objects/floatobject.py/W_FloatObject.method_equalp/operator `and` -> `or`