This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
POSIX math: make erf emulation C89 compliant.
authorJarkko Hietaniemi <jhi@iki.fi>
Wed, 3 Sep 2014 11:21:37 +0000 (07:21 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Wed, 3 Sep 2014 11:53:48 +0000 (07:53 -0400)
(We really should have our -Warn options on at least for ext-code.)

ext/POSIX/POSIX.xs

index 859ac4c..9c7e77d 100644 (file)
@@ -491,13 +491,13 @@ static NV my_erf(NV x)
   NV a4 = -1.453152027;
   NV a5 =  1.061405429;
   NV p  =  0.3275911;
-
+  NV t, y;
   int sign = x < 0 ? -1 : 1; /* Save the sign. */
   x = PERL_ABS(x);
 
   /* Abramowitz and Stegun formula 7.1.26 */
-  NV t = 1.0 / (1.0 + p * x);
-  NV y = 1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1) * t * exp(-x*x);
+  t = 1.0 / (1.0 + p * x);
+  y = 1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1) * t * exp(-x*x);
 
   return sign * y;
 }