infinite?()
public
Returns values corresponding to the value of cmp's magnitude:
For example:
(1+1i).infinite?
(Float::INFINITY + 1i).infinite?
static VALUE
rb_complex_infinite_p(VALUE self)
{
VALUE magnitude = nucomp_abs(self);
if (FINITE_TYPE_P(magnitude)) {
return Qnil;
}
if (RB_FLOAT_TYPE_P(magnitude)) {
const double f = RFLOAT_VALUE(magnitude);
if (isinf(f)) {
return INT2FIX(f < 0 ? -1 : 1);
}
return Qnil;
}
else {
return rb_funcall(magnitude, id_infinite_p, 0);
}
}