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 */

Reply via email to