diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 2 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibmtypes.h | 5 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibm.c | 9 | ||||
| -rw-r--r-- | src/wrapped/wrappedlibm_private.h | 1 |
4 files changed, 16 insertions, 1 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 7e1f0f62..c85af77d 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -5130,6 +5130,8 @@ wrappedlibm: - __fmod_finite - __hypot_finite - __pow_finite +- DFDD: + - __powl_finite wrappedlibncurses: - pFv: - initscr diff --git a/src/wrapped/generated/wrappedlibmtypes.h b/src/wrapped/generated/wrappedlibmtypes.h index adeff992..2d0b0c22 100644 --- a/src/wrapped/generated/wrappedlibmtypes.h +++ b/src/wrapped/generated/wrappedlibmtypes.h @@ -25,9 +25,11 @@ typedef double (*dFdd_t)(double, double); #if defined(HAVE_LD80BITS) || defined(ANDROID) typedef int64_t (*IFD_t)(long double); typedef long double (*DFD_t)(long double); +typedef long double (*DFDD_t)(long double, long double); #else // !HAVE_LD80BITS && !ANDROID typedef int64_t (*IFD_t)(double); typedef double (*DFD_t)(double); +typedef double (*DFDD_t)(double, double); #endif #define SUPER() ADDED_FUNCTIONS() \ @@ -74,6 +76,7 @@ typedef double (*DFD_t)(double); GO(__atan2_finite, dFdd_t) \ GO(__fmod_finite, dFdd_t) \ GO(__hypot_finite, dFdd_t) \ - GO(__pow_finite, dFdd_t) + GO(__pow_finite, dFdd_t) \ + GO(__powl_finite, DFDD_t) #endif // __wrappedlibmTYPES_H_ diff --git a/src/wrapped/wrappedlibm.c b/src/wrapped/wrappedlibm.c index 8a7273ec..9e7a9ebc 100644 --- a/src/wrapped/wrappedlibm.c +++ b/src/wrapped/wrappedlibm.c @@ -27,6 +27,9 @@ typedef float (*fFff_t) (float, float); typedef double (*dFdd_t) (double, double); typedef float (*fFf_t) (float); typedef double (*dFd_t) (double); +#ifdef HAVE_LD80BITS +typedef long double (*DFDD_t) (long double, long double); +#endif #undef GO_cFc @@ -81,6 +84,12 @@ F1D(log) F2F(fmodf) F2D(fmod) +#ifdef HAVE_LD80BITS +FINITE(powl, DFDD_t, long double, (long double a, long double b), a, b) +#else +EXPORT double my___powl_finite(double a, double b) __attribute__((alias("my___pow_finite"))); +#endif + #undef F2D #undef F2F #undef F1D diff --git a/src/wrapped/wrappedlibm_private.h b/src/wrapped/wrappedlibm_private.h index effcf49c..c827b2c7 100644 --- a/src/wrapped/wrappedlibm_private.h +++ b/src/wrapped/wrappedlibm_private.h @@ -303,6 +303,7 @@ GOWM(pow10l, DFD) GOW(powf, fFff) GOM(__powf_finite, fFff) GOM(__pow_finite, dFdd) +GOM(__powl_finite, DFDD) GOWD(powl, DFDD, pow) GOW(remainder, dFdd) GOW(remainderf, fFff) |