==(p1)
public
Returns true only if obj has the same value as flt.
Contrast this with Float#eql?, which requires obj to be a Float.
1.0 == 1
Show source
static VALUE
flo_eq(VALUE x, VALUE y)
{
volatile double a, b;
switch (TYPE(y)) {
case T_FIXNUM:
b = (double)FIX2LONG(y);
break;
case T_BIGNUM:
b = rb_big2dbl(y);
break;
case T_FLOAT:
b = RFLOAT_VALUE(y);
if (isnan(b)) return Qfalse;
break;
default:
return num_equal(x, y);
}
a = RFLOAT_VALUE(x);
if (isnan(a)) return Qfalse;
return (a == b)?Qtrue:Qfalse;
}