Ruby gives contradictory answers for NaN:
> (0/0.0).finite? => false > Complex(0/0.0, 0).finite? => true
nil, so the float answer of
false looks even more wrong.
The two solutions I see are either changing
Float#finite? to return
true for NaN, or to raise in both cases.
I'd lean towards raising in both cases, as NaN can not be said to be finite or infinite
Updated by nobu (Nobuyoshi Nakada) almost 3 years ago
- Status changed from Open to Rejected
NaN is not a (either infinite or finite) number, definitely.
Also it is not positive nor negative, so its signedness is nonsense too.
Complex(0/0.0, 0).finite? returns
false in the trunk already.