POSIX math: have the Perl_func wrappers for the C89 math, too.
authorJarkko Hietaniemi <jhi@iki.fi>
Wed, 3 Sep 2014 22:45:29 +0000 (18:45 -0400)
committerJarkko Hietaniemi <jhi@iki.fi>
Wed, 3 Sep 2014 23:12:17 +0000 (19:12 -0400)
(Until now the non-long-double versions have been called on long doubles.)

ext/POSIX/POSIX.xs
perl.h

index 3c87175..62393eb 100644 (file)
@@ -1828,7 +1828,7 @@ acos(x)
        RETVAL = NV_NAN;
        switch (ix) {
        case 0:
-           RETVAL = acos(x); /* C89 math */
+           RETVAL = Perl_acos(x); /* C89 math */
            break;
        case 1:
 #ifdef c99_acosh
@@ -1838,7 +1838,7 @@ acos(x)
 #endif
            break;
        case 2:
-           RETVAL = asin(x); /* C89 math */
+           RETVAL = Perl_asin(x); /* C89 math */
            break;
        case 3:
 #ifdef c99_asinh
@@ -1848,7 +1848,7 @@ acos(x)
 #endif
            break;
        case 4:
-           RETVAL = atan(x); /* C89 math */
+           RETVAL = Perl_atan(x); /* C89 math */
            break;
        case 5:
 #ifdef c99_atanh
@@ -1865,10 +1865,10 @@ acos(x)
 #endif
            break;
        case 7:
-           RETVAL = ceil(x); /* C89 math */
+           RETVAL = Perl_ceil(x); /* C89 math */
            break;
        case 8:
-           RETVAL = cosh(x); /* C89 math */
+           RETVAL = Perl_cosh(x); /* C89 math */
            break;
        case 9:
 #ifdef c99_erf
@@ -1899,7 +1899,7 @@ acos(x)
 #endif
            break;
        case 13:
-           RETVAL = floor(x); /* C89 math */
+           RETVAL = Perl_floor(x); /* C89 math */
            break;
        case 14:
 #ifdef bessel_j0
@@ -1971,13 +1971,13 @@ acos(x)
 #endif
            break;
        case 24:
-           RETVAL = sinh(x); /* C89 math */
+           RETVAL = Perl_sinh(x); /* C89 math */
            break;
        case 25:
-           RETVAL = tan(x); /* C89 math */
+           RETVAL = Perl_tan(x); /* C89 math */
            break;
        case 26:
-           RETVAL = tanh(x); /* C89 math */
+           RETVAL = Perl_tanh(x); /* C89 math */
            break;
        case 27:
         /* XXX tgamma_r -- the lgamma accesses a global variable (signgam),
@@ -2151,7 +2151,7 @@ copysign(x,y)
 #endif
            break;
        case 4:
-           RETVAL = fmod(x, y); /* C89 math */
+           RETVAL = Perl_fmod(x, y); /* C89 math */
            break;
        case 5:
 #ifdef c99_hypot
diff --git a/perl.h b/perl.h
index f251be3..54a880e 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -1894,6 +1894,14 @@ typedef NVTYPE NV;
 #       define Perl_floor floorl
 #       define Perl_ceil ceill
 #       define Perl_fmod fmodl
+#       define Perl_acos acosl
+#       define Perl_asin asinl
+#       define Perl_atan atanl
+#       define Perl_cosh coshl
+#       define Perl_log10 log10l
+#       define Perl_sinh sinhl
+#       define Perl_tan tanl
+#       define Perl_tanh tanhl
 #   endif
 /* e.g. libsunmath doesn't have modfl and frexpl as of mid-March 2000 */
 #   ifdef HAS_MODFL
@@ -1992,6 +2000,14 @@ EXTERN_C long double modfl(long double, long double *);
 #   define Perl_modf(x,y) modf(x,y)
 #   define Perl_frexp(x,y) frexp(x,y)
 #   define Perl_ldexp(x,y) ldexp(x,y)
+#   define Perl_acos acos
+#   define Perl_asin asin
+#   define Perl_atan atan
+#   define Perl_cosh cosh
+#   define Perl_log10 log10
+#   define Perl_sinh sinh
+#   define Perl_tan tan
+#   define Perl_tanh tanh
 #   ifndef Perl_isnan
 #       ifdef HAS_ISNAN
 #           define Perl_isnan(x) isnan(x)