diff options
Diffstat (limited to 'sysdeps/ieee754/ldbl-96/s_frexpl.c')
-rw-r--r-- | sysdeps/ieee754/ldbl-96/s_frexpl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/ieee754/ldbl-96/s_frexpl.c b/sysdeps/ieee754/ldbl-96/s_frexpl.c index ab217a659b..7c31ed9936 100644 --- a/sysdeps/ieee754/ldbl-96/s_frexpl.c +++ b/sysdeps/ieee754/ldbl-96/s_frexpl.c @@ -31,6 +31,7 @@ static char rcsid[] = "$NetBSD: $"; #include <float.h> #include <math.h> #include <math_private.h> +#include <libm-alias-ldouble.h> static const long double #if LDBL_MANT_DIG == 64 @@ -42,11 +43,11 @@ two65 = 3.68934881474191032320e+19L; /* 0x4040, 0x80000000, 0x00000000 */ long double __frexpl(long double x, int *eptr) { - u_int32_t se, hx, ix, lx; + uint32_t se, hx, ix, lx; GET_LDOUBLE_WORDS(se,hx,lx,x); ix = 0x7fff&se; *eptr = 0; - if(ix==0x7fff||((ix|hx|lx)==0)) return x; /* 0,inf,nan */ + if(ix==0x7fff||((ix|hx|lx)==0)) return x + x; /* 0,inf,nan */ if (ix==0x0000) { /* subnormal */ x *= two65; GET_LDOUBLE_EXP(se,x); @@ -58,4 +59,4 @@ long double __frexpl(long double x, int *eptr) SET_LDOUBLE_EXP(x,se); return x; } -weak_alias (__frexpl, frexpl) +libm_alias_ldouble (__frexp, frexp) |