choke on.)
p4raw-id: //depot/perl@31856
: SvNV(argsv);
need = 0;
-#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
- if (c != 'e' && c != 'E' && !Perl_isnan(nv))
-#else
- if (c != 'e' && c != 'E' && nv == nv)
-#endif
- {
+ /* nv * 0 will be NaN for NaN, +Inf and -Inf, and 0 for anything
+ else. frexp() has some unspecified behaviour for those three */
+ if (c != 'e' && c != 'E' && (nv * 0) == 0) {
i = PERL_INT_MIN;
/* FIXME: if HAS_LONG_DOUBLE but not USE_LONG_DOUBLE this
will cast our (long double) to (double) */