Author: particle
Date: Tue Jan 27 10:26:18 2009
New Revision: 36058
Modified:
trunk/languages/perl6/src/pmc/perl6str.pmc
Log:
[rakudo] make Inf/NaN support portable
+58 tests with msvc
Modified: trunk/languages/perl6/src/pmc/perl6str.pmc
==============================================================================
--- trunk/languages/perl6/src/pmc/perl6str.pmc (original)
+++ trunk/languages/perl6/src/pmc/perl6str.pmc Tue Jan 27 10:26:18 2009
@@ -163,7 +163,11 @@
s1 += 3;
while (s1 < end && isspace((unsigned char)*s1))
s1++;
- return (s1 == end) ? sign * atof("inf") : 0.0;
+ return (s1 == end)
+ ? sign > 0
+ ? PARROT_FLOATVAL_INF_POSITIVE
+ : PARROT_FLOATVAL_INF_NEGATIVE
+ : 0.0;
}
if (tolower((unsigned char)s1[0]) == 'n'
@@ -172,7 +176,7 @@
s1 += 3;
while (s1 < end && isspace((unsigned char)*s1))
s1++;
- return (s1 == end) ? sign * atof("nan") : 0.0;
+ return (s1 == end) ? PARROT_FLOATVAL_NAN_QUIET : 0.0;
}
/* handle 0x, 0o, 0d, 0b radix */