diff options
Diffstat (limited to 'sysdeps/libm-ieee754')
-rw-r--r-- | sysdeps/libm-ieee754/e_log.c | 6 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/e_logf.c | 6 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_expm1.c | 3 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_expm1f.c | 3 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_log1p.c | 4 | ||||
-rw-r--r-- | sysdeps/libm-ieee754/s_log1pf.c | 6 |
6 files changed, 19 insertions, 9 deletions
diff --git a/sysdeps/libm-ieee754/e_log.c b/sysdeps/libm-ieee754/e_log.c index 38ea069c46..851bd30198 100644 --- a/sysdeps/libm-ieee754/e_log.c +++ b/sysdeps/libm-ieee754/e_log.c @@ -128,8 +128,10 @@ static double zero = 0.0; k += (i>>20); f = x-1.0; if((0x000fffff&(2+hx))<3) { /* |f| < 2**-20 */ - if(f==zero) if(k==0) return zero; else {dk=(double)k; - return dk*ln2_hi+dk*ln2_lo;} + if(f==zero) { + if(k==0) return zero; else {dk=(double)k; + return dk*ln2_hi+dk*ln2_lo;} + } R = f*f*(half-0.33333333333333333*f); if(k==0) return f-R; else {dk=(double)k; return dk*ln2_hi-((R-dk*ln2_lo)-f);} diff --git a/sysdeps/libm-ieee754/e_logf.c b/sysdeps/libm-ieee754/e_logf.c index 0f1af93ba8..de8f869df4 100644 --- a/sysdeps/libm-ieee754/e_logf.c +++ b/sysdeps/libm-ieee754/e_logf.c @@ -70,8 +70,10 @@ static float zero = 0.0; k += (i>>23); f = x-(float)1.0; if((0x007fffff&(15+ix))<16) { /* |f| < 2**-20 */ - if(f==zero) if(k==0) return zero; else {dk=(float)k; - return dk*ln2_hi+dk*ln2_lo;} + if(f==zero) { + if(k==0) return zero; else {dk=(float)k; + return dk*ln2_hi+dk*ln2_lo;} + } R = f*f*((float)0.5-(float)0.33333333333333333*f); if(k==0) return f-R; else {dk=(float)k; return dk*ln2_hi-((R-dk*ln2_lo)-f);} diff --git a/sysdeps/libm-ieee754/s_expm1.c b/sysdeps/libm-ieee754/s_expm1.c index df6b1e4df0..bfd15b2e31 100644 --- a/sysdeps/libm-ieee754/s_expm1.c +++ b/sysdeps/libm-ieee754/s_expm1.c @@ -207,9 +207,10 @@ Q[] = {1.0, -3.33333333333331316428e-02, /* BFA11111 111110F4 */ e = (x*(e-c)-c); e -= hxs; if(k== -1) return 0.5*(x-e)-0.5; - if(k==1) + if(k==1) { if(x < -0.25) return -2.0*(e-(x+0.5)); else return one+2.0*(x-e); + } if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */ u_int32_t high; y = one-(e-x); diff --git a/sysdeps/libm-ieee754/s_expm1f.c b/sysdeps/libm-ieee754/s_expm1f.c index d158c9a86d..375e334c38 100644 --- a/sysdeps/libm-ieee754/s_expm1f.c +++ b/sysdeps/libm-ieee754/s_expm1f.c @@ -103,9 +103,10 @@ Q5 = -2.0109921195e-07; /* 0xb457edbb */ e = (x*(e-c)-c); e -= hxs; if(k== -1) return (float)0.5*(x-e)-(float)0.5; - if(k==1) + if(k==1) { if(x < (float)-0.25) return -(float)2.0*(e-(x+(float)0.5)); else return one+(float)2.0*(x-e); + } if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */ int32_t i; y = one-(e-x); diff --git a/sysdeps/libm-ieee754/s_log1p.c b/sysdeps/libm-ieee754/s_log1p.c index 4ca01b1ff5..0a9801a931 100644 --- a/sysdeps/libm-ieee754/s_log1p.c +++ b/sysdeps/libm-ieee754/s_log1p.c @@ -162,8 +162,10 @@ static double zero = 0.0; } hfsq=0.5*f*f; if(hu==0) { /* |f| < 2**-20 */ - if(f==zero) if(k==0) return zero; + if(f==zero) { + if(k==0) return zero; else {c += k*ln2_lo; return k*ln2_hi+c;} + } R = hfsq*(1.0-0.66666666666666666*f); if(k==0) return f-R; else return k*ln2_hi-((R-(k*ln2_lo+c))-f); diff --git a/sysdeps/libm-ieee754/s_log1pf.c b/sysdeps/libm-ieee754/s_log1pf.c index 5b1237b0d0..bd3d57635c 100644 --- a/sysdeps/libm-ieee754/s_log1pf.c +++ b/sysdeps/libm-ieee754/s_log1pf.c @@ -98,8 +98,10 @@ static float zero = 0.0; } hfsq=(float)0.5*f*f; if(hu==0) { /* |f| < 2**-20 */ - if(f==zero) if(k==0) return zero; - else {c += k*ln2_lo; return k*ln2_hi+c;} + if(f==zero) { + if(k==0) return zero; + else {c += k*ln2_lo; return k*ln2_hi+c;} + } R = hfsq*((float)1.0-(float)0.66666666666666666*f); if(k==0) return f-R; else return k*ln2_hi-((R-(k*ln2_lo+c))-f); |