In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/efc743073c032a6311bed2650f8305d96fe60943?hp=648eb45f2e489e7cbdab09c65bccaac4a78ae3ee>
- Log ----------------------------------------------------------------- commit efc743073c032a6311bed2650f8305d96fe60943 Author: Jarkko Hietaniemi <[email protected]> Date: Wed Sep 3 07:21:37 2014 -0400 POSIX math: make erf emulation C89 compliant. (We really should have our -Warn options on at least for ext-code.) M ext/POSIX/POSIX.xs commit 92d982a33cf58be3643d1d0ddb20e581a0cad8af Author: Jarkko Hietaniemi <[email protected]> Date: Wed Sep 3 07:00:31 2014 -0400 POSIX math: isunordered emulation was all broken. M ext/POSIX/POSIX.xs ----------------------------------------------------------------------- Summary of changes: ext/POSIX/POSIX.xs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs index 38fdc62..9c7e77d 100644 --- a/ext/POSIX/POSIX.xs +++ b/ext/POSIX/POSIX.xs @@ -254,10 +254,12 @@ # define c99_trunc trunc # endif -# if !defined(isunordered) && defined(Perl_isnan) -# define isunordered(x, y) (Perl_isnan(x) || Perl-isnan(y)) -# elsif defined(HAS_UNORDERED) -# define isunordered(x, y) unordered(x, y) +# ifndef isunordered +# ifdef Perl_isnan +# define isunordered(x, y) (Perl_isnan(x) || Perl_isnan(y)) +# elif defined(HAS_UNORDERED) +# define isunordered(x, y) unordered(x, y) +# endif # endif # if !defined(isgreater) && defined(isunordered) @@ -489,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; } -- Perl5 Master Repository
