mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 10:22:41 +08:00
Rename all __ieee754_sqrt(f/l) calls to sqrt(f/l)
Use sqrt(f/l) to enable inlining by GCC - if inlining doesn't happen, the asm redirect ensures we will still call __ieee754_sqrt(f/l). * sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Use sqrt. * sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Likewise. * sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise. * sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_j0): Likewise. * sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_j1): Likewise. * sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise. * sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise. * sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c (__ieee754_acosh): Likewise. * sysdeps/ieee754/flt-32/e_acosf.c (__ieee754_acosf): Likewise. * sysdeps/ieee754/flt-32/e_acoshf.c (__ieee754_acoshf): Likewise. * sysdeps/ieee754/flt-32/e_asinf.c (__ieee754_asinf): Likewise. * sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise. * sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Likewise. * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_j0f): Likewise. * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_j1f): Likewise. * sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise. * sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise. * sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): Use sqrtl. * sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Likewise. * sysdeps/ieee754/ldbl-128/e_asinl.c (__ieee754_asinl): Likewise. * sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): Likewise. * sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl): Likewise. * sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Likewise. * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise. * sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise. * sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise. * sysdeps/ieee754/ldbl-128/s_asinhl.c (__ieee754_asinhl): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (__ieee754_acoshl): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_asinl.c (__ieee754_asinl): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (__ieee754_hypotl): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_j0l.c (__ieee754_j0l): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_j1l.c (__ieee754_j1l): Likewise * sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise. * sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise. * sysdeps/ieee754/ldbl-128ibm/s_asinhl.c (__ieee754_asinhl): Likewise. * sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Use sqrtl. * sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise. * sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): Likewise. * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise. * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise. * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise. * sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise. * sysdeps/ieee754/ldbl-96/s_asinhl.c (__ieee754_asinhl): Likewise. * sysdeps/m68k/m680x0/fpu/e_pow.c (__ieee754_pow): Likewise. * sysdeps/powerpc/fpu/e_hypot.c (__ieee754_hypot): Likewise. * sysdeps/powerpc/fpu/e_hypotf.c (__ieee754_hypotf): Likewise.
This commit is contained in:
parent
1294b1892e
commit
f67a8147b0
52
ChangeLog
52
ChangeLog
@ -25,6 +25,58 @@
|
||||
[__USE_ISOC99] (llrintf): Likewise.
|
||||
[__USE_ISOC99] (llrintl): Likewise.
|
||||
|
||||
2018-03-15 Wilco Dijkstra <wdijkstr@arm.com>
|
||||
|
||||
* sysdeps/ieee754/dbl-64/e_acosh.c (__ieee754_acosh): Use sqrt.
|
||||
* sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Likewise.
|
||||
* sysdeps/ieee754/dbl-64/e_hypot.c (__ieee754_hypot): Likewise.
|
||||
* sysdeps/ieee754/dbl-64/e_j0.c (__ieee754_j0): Likewise.
|
||||
* sysdeps/ieee754/dbl-64/e_j1.c (__ieee754_j1): Likewise.
|
||||
* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Likewise.
|
||||
* sysdeps/ieee754/dbl-64/s_asinh.c (__asinh): Likewise.
|
||||
* sysdeps/ieee754/dbl-64/wordsize-64/e_acosh.c (__ieee754_acosh):
|
||||
Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_acosf.c (__ieee754_acosf): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_acoshf.c (__ieee754_acoshf): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_asinf.c (__ieee754_asinf): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_hypotf.c (__ieee754_hypotf): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_j0f): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_j1f): Likewise.
|
||||
* sysdeps/ieee754/flt-32/e_powf.c (__ieee754_powf): Likewise.
|
||||
* sysdeps/ieee754/flt-32/s_asinhf.c (__asinhf): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_acoshl.c (__ieee754_acoshl): Use sqrtl.
|
||||
* sysdeps/ieee754/ldbl-128/e_acosl.c (__ieee754_acosl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_asinl.c (__ieee754_asinl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_hypotl.c (__ieee754_hypotl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_j0l.c (__ieee754_j0l): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_j1l): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/e_powl.c (__ieee754_powl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128/s_asinhl.c (__ieee754_asinhl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_acoshl.c (__ieee754_acoshl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_acosl.c (__ieee754_acosl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_asinl.c (__ieee754_asinl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_hypotl.c (__ieee754_hypotl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_j0l.c (__ieee754_j0l): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_j1l.c (__ieee754_j1l): Likewise
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_powl.c (__ieee754_powl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-128ibm/s_asinhl.c (__ieee754_asinhl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/e_acoshl.c (__ieee754_acoshl): Use sqrtl.
|
||||
* sysdeps/ieee754/ldbl-96/e_asinl.c (__ieee754_asinl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive): Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise.
|
||||
* sysdeps/ieee754/ldbl-96/s_asinhl.c (__ieee754_asinhl): Likewise.
|
||||
* sysdeps/m68k/m680x0/fpu/e_pow.c (__ieee754_pow): Likewise.
|
||||
* sysdeps/powerpc/fpu/e_hypot.c (__ieee754_hypot): Likewise.
|
||||
* sysdeps/powerpc/fpu/e_hypotf.c (__ieee754_hypotf): Likewise.
|
||||
|
||||
2018-03-15 Wilco Dijkstra <wdijkstr@arm.com>
|
||||
|
||||
* include/math.h (sqrt): Declare with asm redirect.
|
||||
|
@ -58,12 +58,12 @@ __ieee754_acosh (double x)
|
||||
else if (hx > 0x40000000) /* 2**28 > x > 2 */
|
||||
{
|
||||
t = x * x;
|
||||
return __ieee754_log (2.0 * x - one / (x + __ieee754_sqrt (t - one)));
|
||||
return __ieee754_log (2.0 * x - one / (x + sqrt (t - one)));
|
||||
}
|
||||
else /* 1<x<2 */
|
||||
{
|
||||
t = x - one;
|
||||
return __log1p (t + __ieee754_sqrt (2.0 * t + t * t));
|
||||
return __log1p (t + sqrt (2.0 * t + t * t));
|
||||
}
|
||||
}
|
||||
strong_alias (__ieee754_acosh, __acosh_finite)
|
||||
|
@ -98,7 +98,7 @@ gamma_positive (double x, int *exp2_adj)
|
||||
double ret = (__ieee754_pow (x_adj_mant, x_adj)
|
||||
* __ieee754_exp2 (x_adj_log2 * x_adj_frac)
|
||||
* __ieee754_exp (-x_adj)
|
||||
* __ieee754_sqrt (2 * M_PI / x_adj)
|
||||
* sqrt (2 * M_PI / x_adj)
|
||||
/ prod);
|
||||
exp_adj += x_eps * __ieee754_log (x_adj);
|
||||
double bsum = gamma_coeff[NCOEFF - 1];
|
||||
|
@ -132,7 +132,7 @@ __ieee754_hypot (double x, double y)
|
||||
t1 = 0;
|
||||
SET_HIGH_WORD (t1, ha);
|
||||
t2 = a - t1;
|
||||
w = __ieee754_sqrt (t1 * t1 - (b * (-b) - t2 * (a + t1)));
|
||||
w = sqrt (t1 * t1 - (b * (-b) - t2 * (a + t1)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -143,7 +143,7 @@ __ieee754_hypot (double x, double y)
|
||||
t1 = 0;
|
||||
SET_HIGH_WORD (t1, ha + 0x00100000);
|
||||
t2 = a - t1;
|
||||
w = __ieee754_sqrt (t1 * y1 - (w * (-w) - (t1 * y2 + t2 * b)));
|
||||
w = sqrt (t1 * y1 - (w * (-w) - (t1 * y2 + t2 * b)));
|
||||
}
|
||||
if (k != 0)
|
||||
{
|
||||
|
@ -109,11 +109,11 @@ __ieee754_j0 (double x)
|
||||
* y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
|
||||
*/
|
||||
if (ix > 0x48000000)
|
||||
z = (invsqrtpi * cc) / __ieee754_sqrt (x);
|
||||
z = (invsqrtpi * cc) / sqrt (x);
|
||||
else
|
||||
{
|
||||
u = pzero (x); v = qzero (x);
|
||||
z = invsqrtpi * (u * cc - v * ss) / __ieee754_sqrt (x);
|
||||
z = invsqrtpi * (u * cc - v * ss) / sqrt (x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
@ -200,11 +200,11 @@ __ieee754_y0 (double x)
|
||||
ss = z / cc;
|
||||
}
|
||||
if (ix > 0x48000000)
|
||||
z = (invsqrtpi * ss) / __ieee754_sqrt (x);
|
||||
z = (invsqrtpi * ss) / sqrt (x);
|
||||
else
|
||||
{
|
||||
u = pzero (x); v = qzero (x);
|
||||
z = invsqrtpi * (u * ss + v * cc) / __ieee754_sqrt (x);
|
||||
z = invsqrtpi * (u * ss + v * cc) / sqrt (x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
|
@ -112,11 +112,11 @@ __ieee754_j1 (double x)
|
||||
* y1(x) = 1/sqrt(pi) * (P(1,x)*ss + Q(1,x)*cc) / sqrt(x)
|
||||
*/
|
||||
if (ix > 0x48000000)
|
||||
z = (invsqrtpi * cc) / __ieee754_sqrt (y);
|
||||
z = (invsqrtpi * cc) / sqrt (y);
|
||||
else
|
||||
{
|
||||
u = pone (y); v = qone (y);
|
||||
z = invsqrtpi * (u * cc - v * ss) / __ieee754_sqrt (y);
|
||||
z = invsqrtpi * (u * cc - v * ss) / sqrt (y);
|
||||
}
|
||||
if (hx < 0)
|
||||
return -z;
|
||||
@ -203,11 +203,11 @@ __ieee754_y1 (double x)
|
||||
* to compute the worse one.
|
||||
*/
|
||||
if (ix > 0x48000000)
|
||||
z = (invsqrtpi * ss) / __ieee754_sqrt (x);
|
||||
z = (invsqrtpi * ss) / sqrt (x);
|
||||
else
|
||||
{
|
||||
u = pone (x); v = qone (x);
|
||||
z = invsqrtpi * (u * ss + v * cc) / __ieee754_sqrt (x);
|
||||
z = invsqrtpi * (u * ss + v * cc) / sqrt (x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ __ieee754_jn (int n, double x)
|
||||
case 2: temp = -c - s; break;
|
||||
case 3: temp = c - s; break;
|
||||
}
|
||||
b = invsqrtpi * temp / __ieee754_sqrt (x);
|
||||
b = invsqrtpi * temp / sqrt (x);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -314,7 +314,7 @@ __ieee754_yn (int n, double x)
|
||||
case 2: temp = -s + c; break;
|
||||
case 3: temp = s + c; break;
|
||||
}
|
||||
b = invsqrtpi * temp / __ieee754_sqrt (x);
|
||||
b = invsqrtpi * temp / sqrt (x);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -55,13 +55,13 @@ __asinh (double x)
|
||||
double xa = fabs (x);
|
||||
if (ix > 0x40000000) /* 2**28 > |x| > 2.0 */
|
||||
{
|
||||
w = __ieee754_log (2.0 * xa + one / (__ieee754_sqrt (xa * xa + one) +
|
||||
w = __ieee754_log (2.0 * xa + one / (sqrt (xa * xa + one) +
|
||||
xa));
|
||||
}
|
||||
else /* 2.0 > |x| > 2**-28 */
|
||||
{
|
||||
double t = xa * xa;
|
||||
w = __log1p (xa + t / (one + __ieee754_sqrt (one + t)));
|
||||
w = __log1p (xa + t / (one + sqrt (one + t)));
|
||||
}
|
||||
}
|
||||
return __copysign (w, x);
|
||||
|
@ -51,13 +51,13 @@ __ieee754_acosh (double x)
|
||||
|
||||
/* 2**28 > x > 2 */
|
||||
double t = x * x;
|
||||
return __ieee754_log (2.0 * x - one / (x + __ieee754_sqrt (t - one)));
|
||||
return __ieee754_log (2.0 * x - one / (x + sqrt (t - one)));
|
||||
}
|
||||
else if (__glibc_likely (hx > INT64_C (0x3ff0000000000000)))
|
||||
{
|
||||
/* 1<x<2 */
|
||||
double t = x - one;
|
||||
return __log1p (t + __ieee754_sqrt (2.0 * t + t * t));
|
||||
return __log1p (t + sqrt (2.0 * t + t * t));
|
||||
}
|
||||
else if (__glibc_likely (hx == INT64_C (0x3ff0000000000000)))
|
||||
return 0.0; /* acosh(1) = 0 */
|
||||
|
@ -56,14 +56,14 @@ __ieee754_acosf(float x)
|
||||
z = (one+x)*(float)0.5;
|
||||
p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
|
||||
q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
|
||||
s = __ieee754_sqrtf(z);
|
||||
s = sqrtf(z);
|
||||
r = p/q;
|
||||
w = r*s-pio2_lo;
|
||||
return pi - (float)2.0*(s+w);
|
||||
} else { /* x > 0.5 */
|
||||
int32_t idf;
|
||||
z = (one-x)*(float)0.5;
|
||||
s = __ieee754_sqrtf(z);
|
||||
s = sqrtf(z);
|
||||
df = s;
|
||||
GET_FLOAT_WORD(idf,df);
|
||||
SET_FLOAT_WORD(df,idf&0xfffff000);
|
||||
|
@ -40,10 +40,10 @@ float __ieee754_acoshf(float x)
|
||||
return 0.0; /* acosh(1) = 0 */
|
||||
} else if (hx > 0x40000000) { /* 2**28 > x > 2 */
|
||||
t=x*x;
|
||||
return __ieee754_logf((float)2.0*x-one/(x+__ieee754_sqrtf(t-one)));
|
||||
return __ieee754_logf((float)2.0*x-one/(x+sqrtf(t-one)));
|
||||
} else { /* 1<x<2 */
|
||||
t = x-one;
|
||||
return __log1pf(t+__ieee754_sqrtf((float)2.0*t+t*t));
|
||||
return __log1pf(t+sqrtf((float)2.0*t+t*t));
|
||||
}
|
||||
}
|
||||
strong_alias (__ieee754_acoshf, __acoshf_finite)
|
||||
|
@ -85,7 +85,7 @@ float __ieee754_asinf(float x)
|
||||
w = one-fabsf(x);
|
||||
t = w*0.5f;
|
||||
p = t * (p0 + t * (p1 + t * (p2 + t * (p3 + t * p4))));
|
||||
s = __ieee754_sqrtf(t);
|
||||
s = sqrtf(t);
|
||||
if(ix>=0x3F79999A) { /* if |x| > 0.975 */
|
||||
t = pio2_hi-(2.0f*(s+s*p)-pio2_lo);
|
||||
} else {
|
||||
|
@ -91,7 +91,7 @@ gammaf_positive (float x, int *exp2_adj)
|
||||
float ret = (__ieee754_powf (x_adj_mant, x_adj)
|
||||
* __ieee754_exp2f (x_adj_log2 * x_adj_frac)
|
||||
* __ieee754_expf (-x_adj)
|
||||
* __ieee754_sqrtf (2 * (float) M_PI / x_adj)
|
||||
* sqrtf (2 * (float) M_PI / x_adj)
|
||||
/ prod);
|
||||
exp_adj += x_eps * __ieee754_logf (x_adj);
|
||||
float bsum = gamma_coeff[NCOEFF - 1];
|
||||
|
@ -40,6 +40,6 @@ __ieee754_hypotf(float x, float y)
|
||||
d_x = (double) x;
|
||||
d_y = (double) y;
|
||||
|
||||
return (float) __ieee754_sqrt(d_x * d_x + d_y * d_y);
|
||||
return (float) sqrt(d_x * d_x + d_y * d_y);
|
||||
}
|
||||
strong_alias (__ieee754_hypotf, __hypotf_finite)
|
||||
|
@ -58,10 +58,10 @@ __ieee754_j0f(float x)
|
||||
* j0(x) = 1/sqrt(pi) * (P(0,x)*cc - Q(0,x)*ss) / sqrt(x)
|
||||
* y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
|
||||
*/
|
||||
if(ix>0x48000000) z = (invsqrtpi*cc)/__ieee754_sqrtf(x);
|
||||
if(ix>0x48000000) z = (invsqrtpi*cc)/sqrtf(x);
|
||||
else {
|
||||
u = pzerof(x); v = qzerof(x);
|
||||
z = invsqrtpi*(u*cc-v*ss)/__ieee754_sqrtf(x);
|
||||
z = invsqrtpi*(u*cc-v*ss)/sqrtf(x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
@ -131,10 +131,10 @@ __ieee754_y0f(float x)
|
||||
if ((s*c)<zero) cc = z/ss;
|
||||
else ss = z/cc;
|
||||
}
|
||||
if(ix>0x48000000) z = (invsqrtpi*ss)/__ieee754_sqrtf(x);
|
||||
if(ix>0x48000000) z = (invsqrtpi*ss)/sqrtf(x);
|
||||
else {
|
||||
u = pzerof(x); v = qzerof(x);
|
||||
z = invsqrtpi*(u*ss+v*cc)/__ieee754_sqrtf(x);
|
||||
z = invsqrtpi*(u*ss+v*cc)/sqrtf(x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
|
@ -61,10 +61,10 @@ __ieee754_j1f(float x)
|
||||
* j1(x) = 1/sqrt(pi) * (P(1,x)*cc - Q(1,x)*ss) / sqrt(x)
|
||||
* y1(x) = 1/sqrt(pi) * (P(1,x)*ss + Q(1,x)*cc) / sqrt(x)
|
||||
*/
|
||||
if(ix>0x48000000) z = (invsqrtpi*cc)/__ieee754_sqrtf(y);
|
||||
if(ix>0x48000000) z = (invsqrtpi*cc)/sqrtf(y);
|
||||
else {
|
||||
u = ponef(y); v = qonef(y);
|
||||
z = invsqrtpi*(u*cc-v*ss)/__ieee754_sqrtf(y);
|
||||
z = invsqrtpi*(u*cc-v*ss)/sqrtf(y);
|
||||
}
|
||||
if(hx<0) return -z;
|
||||
else return z;
|
||||
@ -135,10 +135,10 @@ __ieee754_y1f(float x)
|
||||
* sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))
|
||||
* to compute the worse one.
|
||||
*/
|
||||
if(ix>0x48000000) z = (invsqrtpi*ss)/__ieee754_sqrtf(x);
|
||||
if(ix>0x48000000) z = (invsqrtpi*ss)/sqrtf(x);
|
||||
else {
|
||||
u = ponef(x); v = qonef(x);
|
||||
z = invsqrtpi*(u*ss+v*cc)/__ieee754_sqrtf(x);
|
||||
z = invsqrtpi*(u*ss+v*cc)/sqrtf(x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
|
@ -40,10 +40,10 @@ __asinhf(float x)
|
||||
} else {
|
||||
float xa = fabsf(x);
|
||||
if (ix>0x40000000) { /* 2**14 > |x| > 2.0 */
|
||||
w = __ieee754_logf(2.0f*xa+one/(__ieee754_sqrtf(xa*xa+one)+xa));
|
||||
w = __ieee754_logf(2.0f*xa+one/(sqrtf(xa*xa+one)+xa));
|
||||
} else { /* 2.0 > |x| > 2**-14 */
|
||||
float t = xa*xa;
|
||||
w =__log1pf(xa+t/(one+__ieee754_sqrtf(one+t)));
|
||||
w =__log1pf(xa+t/(one+sqrtf(one+t)));
|
||||
}
|
||||
}
|
||||
return __copysignf(w, x);
|
||||
|
@ -52,10 +52,10 @@ __ieee754_acoshl(_Float128 x)
|
||||
return 0; /* acosh(1) = 0 */
|
||||
} else if (hx > 0x4000000000000000LL) { /* 2**28 > x > 2 */
|
||||
t=x*x;
|
||||
return __ieee754_logl(2*x-one/(x+__ieee754_sqrtl(t-one)));
|
||||
return __ieee754_logl(2*x-one/(x+sqrtl(t-one)));
|
||||
} else { /* 1<x<2 */
|
||||
t = x-one;
|
||||
return __log1pl(t+__sqrtl(2*t+t*t));
|
||||
return __log1pl(t+sqrtl(2*t+t*t));
|
||||
}
|
||||
}
|
||||
strong_alias (__ieee754_acoshl, __acoshl_finite)
|
||||
|
@ -51,7 +51,7 @@
|
||||
* if x is NaN, return x itself;
|
||||
* if |x|>1, return NaN with invalid signal.
|
||||
*
|
||||
* Functions needed: __ieee754_sqrtl.
|
||||
* Functions needed: sqrtl.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
@ -270,7 +270,7 @@ __ieee754_acosl (_Float128 x)
|
||||
else
|
||||
{ /* |x| >= .625 */
|
||||
z = (one - u.value) * 0.5;
|
||||
s = __ieee754_sqrtl (z);
|
||||
s = sqrtl (z);
|
||||
/* Compute an extended precision square root from
|
||||
the Newton iteration s -> 0.5 * (s + z / s).
|
||||
The change w from s to the improved value is
|
||||
|
@ -231,7 +231,7 @@ __ieee754_asinl (_Float128 x)
|
||||
return x + x * w;
|
||||
}
|
||||
|
||||
s = __ieee754_sqrtl (t);
|
||||
s = sqrtl (t);
|
||||
if (ix >= 0x3ffef333) /* |x| > 0.975 */
|
||||
{
|
||||
w = p / q;
|
||||
|
@ -107,7 +107,7 @@ gammal_positive (_Float128 x, int *exp2_adj)
|
||||
_Float128 ret = (__ieee754_powl (x_adj_mant, x_adj)
|
||||
* __ieee754_exp2l (x_adj_log2 * x_adj_frac)
|
||||
* __ieee754_expl (-x_adj)
|
||||
* __ieee754_sqrtl (2 * M_PIl / x_adj)
|
||||
* sqrtl (2 * M_PIl / x_adj)
|
||||
/ prod);
|
||||
exp_adj += x_eps * __ieee754_logl (x_adj);
|
||||
_Float128 bsum = gamma_coeff[NCOEFF - 1];
|
||||
|
@ -116,7 +116,7 @@ __ieee754_hypotl(_Float128 x, _Float128 y)
|
||||
t1 = 0;
|
||||
SET_LDOUBLE_MSW64(t1,ha);
|
||||
t2 = a-t1;
|
||||
w = __ieee754_sqrtl(t1*t1-(b*(-b)-t2*(a+t1)));
|
||||
w = sqrtl(t1*t1-(b*(-b)-t2*(a+t1)));
|
||||
} else {
|
||||
a = a+a;
|
||||
y1 = 0;
|
||||
@ -125,7 +125,7 @@ __ieee754_hypotl(_Float128 x, _Float128 y)
|
||||
t1 = 0;
|
||||
SET_LDOUBLE_MSW64(t1,ha+0x0001000000000000LL);
|
||||
t2 = a - t1;
|
||||
w = __ieee754_sqrtl(t1*y1-(w*(-w)-(t1*y2+t2*b)));
|
||||
w = sqrtl(t1*y1-(w*(-w)-(t1*y2+t2*b)));
|
||||
}
|
||||
if(k!=0) {
|
||||
uint64_t high;
|
||||
|
@ -723,7 +723,7 @@ __ieee754_j0l (_Float128 x)
|
||||
}
|
||||
|
||||
if (xx > L(0x1p256))
|
||||
return ONEOSQPI * cc / __ieee754_sqrtl (xx);
|
||||
return ONEOSQPI * cc / sqrtl (xx);
|
||||
|
||||
xinv = 1 / xx;
|
||||
z = xinv * xinv;
|
||||
@ -786,7 +786,7 @@ __ieee754_j0l (_Float128 x)
|
||||
p = 1 + z * p;
|
||||
q = z * xinv * q;
|
||||
q = q - L(0.125) * xinv;
|
||||
z = ONEOSQPI * (p * cc - q * ss) / __ieee754_sqrtl (xx);
|
||||
z = ONEOSQPI * (p * cc - q * ss) / sqrtl (xx);
|
||||
return z;
|
||||
}
|
||||
strong_alias (__ieee754_j0l, __j0l_finite)
|
||||
@ -868,7 +868,7 @@ _Float128
|
||||
}
|
||||
|
||||
if (xx > L(0x1p256))
|
||||
return ONEOSQPI * ss / __ieee754_sqrtl (x);
|
||||
return ONEOSQPI * ss / sqrtl (x);
|
||||
|
||||
xinv = 1 / xx;
|
||||
z = xinv * xinv;
|
||||
@ -931,7 +931,7 @@ _Float128
|
||||
p = 1 + z * p;
|
||||
q = z * xinv * q;
|
||||
q = q - L(0.125) * xinv;
|
||||
z = ONEOSQPI * (p * ss + q * cc) / __ieee754_sqrtl (x);
|
||||
z = ONEOSQPI * (p * ss + q * cc) / sqrtl (x);
|
||||
return z;
|
||||
}
|
||||
strong_alias (__ieee754_y0l, __y0l_finite)
|
||||
|
@ -736,7 +736,7 @@ __ieee754_j1l (_Float128 x)
|
||||
|
||||
if (xx > L(0x1p256))
|
||||
{
|
||||
z = ONEOSQPI * cc / __ieee754_sqrtl (xx);
|
||||
z = ONEOSQPI * cc / sqrtl (xx);
|
||||
if (x < 0)
|
||||
z = -z;
|
||||
return z;
|
||||
@ -803,7 +803,7 @@ __ieee754_j1l (_Float128 x)
|
||||
p = 1 + z * p;
|
||||
q = z * q;
|
||||
q = q * xinv + L(0.375) * xinv;
|
||||
z = ONEOSQPI * (p * cc - q * ss) / __ieee754_sqrtl (xx);
|
||||
z = ONEOSQPI * (p * cc - q * ss) / sqrtl (xx);
|
||||
if (x < 0)
|
||||
z = -z;
|
||||
return z;
|
||||
@ -892,7 +892,7 @@ __ieee754_y1l (_Float128 x)
|
||||
}
|
||||
|
||||
if (xx > L(0x1p256))
|
||||
return ONEOSQPI * ss / __ieee754_sqrtl (xx);
|
||||
return ONEOSQPI * ss / sqrtl (xx);
|
||||
|
||||
xinv = 1 / xx;
|
||||
z = xinv * xinv;
|
||||
@ -955,7 +955,7 @@ __ieee754_y1l (_Float128 x)
|
||||
p = 1 + z * p;
|
||||
q = z * q;
|
||||
q = q * xinv + L(0.375) * xinv;
|
||||
z = ONEOSQPI * (p * ss + q * cc) / __ieee754_sqrtl (xx);
|
||||
z = ONEOSQPI * (p * ss + q * cc) / sqrtl (xx);
|
||||
return z;
|
||||
}
|
||||
strong_alias (__ieee754_y1l, __y1l_finite)
|
||||
|
@ -149,7 +149,7 @@ __ieee754_jnl (int n, _Float128 x)
|
||||
temp = c - s;
|
||||
break;
|
||||
}
|
||||
b = invsqrtpi * temp / __ieee754_sqrtl (x);
|
||||
b = invsqrtpi * temp / sqrtl (x);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -385,7 +385,7 @@ __ieee754_ynl (int n, _Float128 x)
|
||||
temp = s + c;
|
||||
break;
|
||||
}
|
||||
b = invsqrtpi * temp / __ieee754_sqrtl (x);
|
||||
b = invsqrtpi * temp / sqrtl (x);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -233,7 +233,7 @@ __ieee754_powl (_Float128 x, _Float128 y)
|
||||
if (hy == 0x3ffe0000)
|
||||
{ /* y is 0.5 */
|
||||
if (hx >= 0) /* x >= +0 */
|
||||
return __ieee754_sqrtl (x);
|
||||
return sqrtl (x);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -65,12 +65,12 @@ __asinhl (_Float128 x)
|
||||
else if (ix >0x40000000)
|
||||
{ /* 2^ 54 > |x| > 2.0 */
|
||||
t = u.value;
|
||||
w = __ieee754_logl (2.0 * t + one / (__ieee754_sqrtl (x * x + one) + t));
|
||||
w = __ieee754_logl (2.0 * t + one / (sqrtl (x * x + one) + t));
|
||||
}
|
||||
else
|
||||
{ /* 2.0 > |x| > 2 ^ -56 */
|
||||
t = x * x;
|
||||
w = __log1pl (u.value + t / (one + __ieee754_sqrtl (one + t)));
|
||||
w = __log1pl (u.value + t / (one + sqrtl (one + t)));
|
||||
}
|
||||
if (sign & 0x80000000)
|
||||
return -w;
|
||||
|
@ -53,10 +53,10 @@ __ieee754_acoshl(long double x)
|
||||
return 0.0; /* acosh(1) = 0 */
|
||||
} else if (hx > 0x4000000000000000LL) { /* 2**56 > x > 2 */
|
||||
t=x*x;
|
||||
return __ieee754_logl(2.0*x-one/(x+__ieee754_sqrtl(t-one)));
|
||||
return __ieee754_logl(2.0*x-one/(x+sqrtl(t-one)));
|
||||
} else { /* 1<x<2 */
|
||||
t = x-one;
|
||||
return __log1pl(t+__ieee754_sqrtl(2.0*t+t*t));
|
||||
return __log1pl(t+sqrtl(2.0*t+t*t));
|
||||
}
|
||||
}
|
||||
strong_alias (__ieee754_acoshl, __acoshl_finite)
|
||||
|
@ -51,7 +51,7 @@
|
||||
* if x is NaN, return x itself;
|
||||
* if |x|>1, return NaN with invalid signal.
|
||||
*
|
||||
* Functions needed: __ieee754_sqrtl.
|
||||
* Functions needed: sqrtl.
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
@ -268,7 +268,7 @@ __ieee754_acosl (long double x)
|
||||
double shi, slo;
|
||||
|
||||
z = (one - a) * 0.5;
|
||||
s = __ieee754_sqrtl (z);
|
||||
s = sqrtl (z);
|
||||
/* Compute an extended precision square root from
|
||||
the Newton iteration s -> 0.5 * (s + z / s).
|
||||
The change w from s to the improved value is
|
||||
|
@ -62,7 +62,6 @@
|
||||
#include <float.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
long double sqrtl (long double);
|
||||
|
||||
static const long double
|
||||
one = 1.0L,
|
||||
@ -226,7 +225,7 @@ __ieee754_asinl (long double x)
|
||||
return x + x * w;
|
||||
}
|
||||
|
||||
s = __ieee754_sqrtl (t);
|
||||
s = sqrtl (t);
|
||||
if (a > 0.975L)
|
||||
{
|
||||
w = p / q;
|
||||
|
@ -106,7 +106,7 @@ gammal_positive (long double x, int *exp2_adj)
|
||||
long double ret = (__ieee754_powl (x_adj_mant, x_adj)
|
||||
* __ieee754_exp2l (x_adj_log2 * x_adj_frac)
|
||||
* __ieee754_expl (-x_adj)
|
||||
* __ieee754_sqrtl (2 * M_PIl / x_adj)
|
||||
* sqrtl (2 * M_PIl / x_adj)
|
||||
/ prod);
|
||||
exp_adj += x_eps * __ieee754_logl (x_adj);
|
||||
long double bsum = gamma_coeff[NCOEFF - 1];
|
||||
|
@ -107,7 +107,7 @@ __ieee754_hypotl(long double x, long double y)
|
||||
= a1*(a1+a2) + a2*a + b*b
|
||||
= a1*a1 + a1*a2 + a2*a + b*b
|
||||
= a1*a1 + a2*(a+a1) + b*b */
|
||||
w = __ieee754_sqrtl(a1*a1-(b*(-b)-a2*(a+a1)));
|
||||
w = sqrtl(a1*a1-(b*(-b)-a2*(a+a1)));
|
||||
} else {
|
||||
a = a+a;
|
||||
ldbl_unpack (b, &hi, &lo);
|
||||
@ -124,7 +124,7 @@ __ieee754_hypotl(long double x, long double y)
|
||||
= w*w + a1*b + a2*b
|
||||
= w*w + a1*(b1+b2) + a2*b
|
||||
= w*w + a1*b1 + a1*b2 + a2*b */
|
||||
w = __ieee754_sqrtl(a1*b1-(w*(-w)-(a1*b2+a2*b)));
|
||||
w = sqrtl(a1*b1-(w*(-w)-(a1*b2+a2*b)));
|
||||
}
|
||||
if(k!=0)
|
||||
{
|
||||
|
@ -650,7 +650,7 @@ __ieee754_j0l (long double x)
|
||||
}
|
||||
|
||||
if (xx > 0x1p256L)
|
||||
return ONEOSQPI * cc / __ieee754_sqrtl (xx);
|
||||
return ONEOSQPI * cc / sqrtl (xx);
|
||||
|
||||
xinv = 1 / xx;
|
||||
z = xinv * xinv;
|
||||
@ -713,7 +713,7 @@ __ieee754_j0l (long double x)
|
||||
p = 1 + z * p;
|
||||
q = z * xinv * q;
|
||||
q = q - 0.125L * xinv;
|
||||
z = ONEOSQPI * (p * cc - q * ss) / __ieee754_sqrtl (xx);
|
||||
z = ONEOSQPI * (p * cc - q * ss) / sqrtl (xx);
|
||||
return z;
|
||||
}
|
||||
strong_alias (__ieee754_j0l, __j0l_finite)
|
||||
@ -795,7 +795,7 @@ long double
|
||||
}
|
||||
|
||||
if (xx > 0x1p256L)
|
||||
return ONEOSQPI * ss / __ieee754_sqrtl (x);
|
||||
return ONEOSQPI * ss / sqrtl (x);
|
||||
|
||||
xinv = 1 / xx;
|
||||
z = xinv * xinv;
|
||||
@ -858,7 +858,7 @@ long double
|
||||
p = 1 + z * p;
|
||||
q = z * xinv * q;
|
||||
q = q - 0.125L * xinv;
|
||||
z = ONEOSQPI * (p * ss + q * cc) / __ieee754_sqrtl (x);
|
||||
z = ONEOSQPI * (p * ss + q * cc) / sqrtl (x);
|
||||
return z;
|
||||
}
|
||||
strong_alias (__ieee754_y0l, __y0l_finite)
|
||||
|
@ -659,7 +659,7 @@ __ieee754_j1l (long double x)
|
||||
|
||||
if (xx > 0x1p256L)
|
||||
{
|
||||
z = ONEOSQPI * cc / __ieee754_sqrtl (xx);
|
||||
z = ONEOSQPI * cc / sqrtl (xx);
|
||||
if (x < 0)
|
||||
z = -z;
|
||||
return z;
|
||||
@ -726,7 +726,7 @@ __ieee754_j1l (long double x)
|
||||
p = 1 + z * p;
|
||||
q = z * q;
|
||||
q = q * xinv + 0.375L * xinv;
|
||||
z = ONEOSQPI * (p * cc - q * ss) / __ieee754_sqrtl (xx);
|
||||
z = ONEOSQPI * (p * cc - q * ss) / sqrtl (xx);
|
||||
if (x < 0)
|
||||
z = -z;
|
||||
return z;
|
||||
@ -815,7 +815,7 @@ __ieee754_y1l (long double x)
|
||||
}
|
||||
|
||||
if (xx > 0x1p256L)
|
||||
return ONEOSQPI * ss / __ieee754_sqrtl (xx);
|
||||
return ONEOSQPI * ss / sqrtl (xx);
|
||||
|
||||
xinv = 1 / xx;
|
||||
z = xinv * xinv;
|
||||
@ -878,7 +878,7 @@ __ieee754_y1l (long double x)
|
||||
p = 1 + z * p;
|
||||
q = z * q;
|
||||
q = q * xinv + 0.375L * xinv;
|
||||
z = ONEOSQPI * (p * ss + q * cc) / __ieee754_sqrtl (xx);
|
||||
z = ONEOSQPI * (p * ss + q * cc) / sqrtl (xx);
|
||||
return z;
|
||||
}
|
||||
strong_alias (__ieee754_y1l, __y1l_finite)
|
||||
|
@ -149,7 +149,7 @@ __ieee754_jnl (int n, long double x)
|
||||
temp = c - s;
|
||||
break;
|
||||
}
|
||||
b = invsqrtpi * temp / __ieee754_sqrtl (x);
|
||||
b = invsqrtpi * temp / sqrtl (x);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -385,7 +385,7 @@ __ieee754_ynl (int n, long double x)
|
||||
temp = s + c;
|
||||
break;
|
||||
}
|
||||
b = invsqrtpi * temp / __ieee754_sqrtl (x);
|
||||
b = invsqrtpi * temp / sqrtl (x);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -233,7 +233,7 @@ __ieee754_powl (long double x, long double y)
|
||||
if (hy == 0x3fe00000)
|
||||
{ /* y is 0.5 */
|
||||
if (hx >= 0) /* x >= +0 */
|
||||
return __ieee754_sqrtl (x);
|
||||
return sqrtl (x);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -53,10 +53,10 @@ long double __asinhl(long double x)
|
||||
w = __ieee754_logl(fabsl(x))+ln2;
|
||||
} else if (ix>0x4000000000000000LL) { /* 2**56 >= |x| > 2.0 */
|
||||
t = fabs(x);
|
||||
w = __ieee754_logl(2.0*t+one/(__ieee754_sqrtl(x*x+one)+t));
|
||||
w = __ieee754_logl(2.0*t+one/(sqrtl(x*x+one)+t));
|
||||
} else { /* 2.0 >= |x| >= 2**-56 */
|
||||
t = x*x;
|
||||
w =__log1pl(fabsl(x)+t/(one+__ieee754_sqrtl(one+t)));
|
||||
w =__log1pl(fabsl(x)+t/(one+sqrtl(one+t)));
|
||||
}
|
||||
if(hx>0) return w; else return -w;
|
||||
}
|
||||
|
@ -52,10 +52,10 @@ __ieee754_acoshl(long double x)
|
||||
return 0.0; /* acosh(1) = 0 */
|
||||
} else if (se > 0x4000) { /* 2**28 > x > 2 */
|
||||
t=x*x;
|
||||
return __ieee754_logl(2.0*x-one/(x+__ieee754_sqrtl(t-one)));
|
||||
return __ieee754_logl(2.0*x-one/(x+sqrtl(t-one)));
|
||||
} else { /* 1<x<2 */
|
||||
t = x-one;
|
||||
return __log1pl(t+__ieee754_sqrtl(2.0*t+t*t));
|
||||
return __log1pl(t+sqrtl(2.0*t+t*t));
|
||||
}
|
||||
}
|
||||
strong_alias (__ieee754_acoshl, __acoshl_finite)
|
||||
|
@ -132,7 +132,7 @@ __ieee754_asinl (long double x)
|
||||
t = w * 0.5;
|
||||
p = t * (pS0 + t * (pS1 + t * (pS2 + t * (pS3 + t * (pS4 + t * pS5)))));
|
||||
q = qS0 + t * (qS1 + t * (qS2 + t * (qS3 + t * (qS4 + t))));
|
||||
s = __ieee754_sqrtl (t);
|
||||
s = sqrtl (t);
|
||||
if (ix >= 0x3ffef999)
|
||||
{ /* if |x| > 0.975 */
|
||||
w = p / q;
|
||||
|
@ -100,7 +100,7 @@ gammal_positive (long double x, int *exp2_adj)
|
||||
long double ret = (__ieee754_powl (x_adj_mant, x_adj)
|
||||
* __ieee754_exp2l (x_adj_log2 * x_adj_frac)
|
||||
* __ieee754_expl (-x_adj)
|
||||
* __ieee754_sqrtl (2 * M_PIl / x_adj)
|
||||
* sqrtl (2 * M_PIl / x_adj)
|
||||
/ prod);
|
||||
exp_adj += x_eps * __ieee754_logl (x_adj);
|
||||
long double bsum = gamma_coeff[NCOEFF - 1];
|
||||
|
@ -117,7 +117,7 @@ long double __ieee754_hypotl(long double x, long double y)
|
||||
GET_LDOUBLE_MSW(high,a);
|
||||
SET_LDOUBLE_WORDS(t1,ea,high,0);
|
||||
t2 = a-t1;
|
||||
w = __ieee754_sqrtl(t1*t1-(b*(-b)-t2*(a+t1)));
|
||||
w = sqrtl(t1*t1-(b*(-b)-t2*(a+t1)));
|
||||
} else {
|
||||
uint32_t high;
|
||||
GET_LDOUBLE_MSW(high,b);
|
||||
@ -127,7 +127,7 @@ long double __ieee754_hypotl(long double x, long double y)
|
||||
GET_LDOUBLE_MSW(high,a);
|
||||
SET_LDOUBLE_WORDS(t1,ea+1,high,0);
|
||||
t2 = a - t1;
|
||||
w = __ieee754_sqrtl(t1*y1-(w*(-w)-(t1*y2+t2*b)));
|
||||
w = sqrtl(t1*y1-(w*(-w)-(t1*y2+t2*b)));
|
||||
}
|
||||
if(k!=0) {
|
||||
uint32_t exp;
|
||||
|
@ -133,12 +133,12 @@ __ieee754_j0l (long double x)
|
||||
* y0(x) = 1/sqrt(pi) * (P(0,x)*ss + Q(0,x)*cc) / sqrt(x)
|
||||
*/
|
||||
if (__glibc_unlikely (ix > 0x4080)) /* 2^129 */
|
||||
z = (invsqrtpi * cc) / __ieee754_sqrtl (x);
|
||||
z = (invsqrtpi * cc) / sqrtl (x);
|
||||
else
|
||||
{
|
||||
u = pzero (x);
|
||||
v = qzero (x);
|
||||
z = invsqrtpi * (u * cc - v * ss) / __ieee754_sqrtl (x);
|
||||
z = invsqrtpi * (u * cc - v * ss) / sqrtl (x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
@ -235,12 +235,12 @@ __ieee754_y0l (long double x)
|
||||
ss = z / cc;
|
||||
}
|
||||
if (__glibc_unlikely (ix > 0x4080)) /* 1e39 */
|
||||
z = (invsqrtpi * ss) / __ieee754_sqrtl (x);
|
||||
z = (invsqrtpi * ss) / sqrtl (x);
|
||||
else
|
||||
{
|
||||
u = pzero (x);
|
||||
v = qzero (x);
|
||||
z = invsqrtpi * (u * ss + v * cc) / __ieee754_sqrtl (x);
|
||||
z = invsqrtpi * (u * ss + v * cc) / sqrtl (x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
|
@ -137,12 +137,12 @@ __ieee754_j1l (long double x)
|
||||
* y1(x) = 1/sqrt(pi) * (P(1,x)*ss + Q(1,x)*cc) / sqrt(x)
|
||||
*/
|
||||
if (__glibc_unlikely (ix > 0x4080))
|
||||
z = (invsqrtpi * cc) / __ieee754_sqrtl (y);
|
||||
z = (invsqrtpi * cc) / sqrtl (y);
|
||||
else
|
||||
{
|
||||
u = pone (y);
|
||||
v = qone (y);
|
||||
z = invsqrtpi * (u * cc - v * ss) / __ieee754_sqrtl (y);
|
||||
z = invsqrtpi * (u * cc - v * ss) / sqrtl (y);
|
||||
}
|
||||
if (se & 0x8000)
|
||||
return -z;
|
||||
@ -231,12 +231,12 @@ __ieee754_y1l (long double x)
|
||||
* to compute the worse one.
|
||||
*/
|
||||
if (__glibc_unlikely (ix > 0x4080))
|
||||
z = (invsqrtpi * ss) / __ieee754_sqrtl (x);
|
||||
z = (invsqrtpi * ss) / sqrtl (x);
|
||||
else
|
||||
{
|
||||
u = pone (x);
|
||||
v = qone (x);
|
||||
z = invsqrtpi * (u * ss + v * cc) / __ieee754_sqrtl (x);
|
||||
z = invsqrtpi * (u * ss + v * cc) / sqrtl (x);
|
||||
}
|
||||
return z;
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ __ieee754_jnl (int n, long double x)
|
||||
temp = c - s;
|
||||
break;
|
||||
}
|
||||
b = invsqrtpi * temp / __ieee754_sqrtl (x);
|
||||
b = invsqrtpi * temp / sqrtl (x);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -371,7 +371,7 @@ __ieee754_ynl (int n, long double x)
|
||||
temp = s + c;
|
||||
break;
|
||||
}
|
||||
b = invsqrtpi * temp / __ieee754_sqrtl (x);
|
||||
b = invsqrtpi * temp / sqrtl (x);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -55,10 +55,10 @@ long double __asinhl(long double x)
|
||||
} else {
|
||||
long double xa = fabsl(x);
|
||||
if (ix>0x4000) { /* 2**34 > |x| > 2.0 */
|
||||
w = __ieee754_logl(2.0*xa+one/(__ieee754_sqrtl(xa*xa+one)+xa));
|
||||
w = __ieee754_logl(2.0*xa+one/(sqrtl(xa*xa+one)+xa));
|
||||
} else { /* 2.0 > |x| > 2**-28 */
|
||||
t = xa*xa;
|
||||
w =__log1pl(xa+t/(one+__ieee754_sqrtl(one+t)));
|
||||
w =__log1pl(xa+t/(one+sqrtl(one+t)));
|
||||
}
|
||||
}
|
||||
return __copysignl(w, x);
|
||||
|
@ -64,7 +64,7 @@ s(__ieee754_pow) (float_type x, float_type y)
|
||||
if (y == 2)
|
||||
return x * x;
|
||||
if (y == 0.5 && !(x_cond & __M81_COND_NEG))
|
||||
return m81(__ieee754_sqrt) (x);
|
||||
return m81(sqrt) (x);
|
||||
|
||||
if (x == 10.0)
|
||||
{
|
||||
|
@ -110,7 +110,7 @@ __ieee754_hypot (double x, double y)
|
||||
{
|
||||
x *= twoM600;
|
||||
y *= twoM600;
|
||||
return __ieee754_sqrt (x * x + y * y) / twoM600;
|
||||
return sqrt (x * x + y * y) / twoM600;
|
||||
}
|
||||
if (y < twoM500)
|
||||
{
|
||||
@ -118,7 +118,7 @@ __ieee754_hypot (double x, double y)
|
||||
{
|
||||
x *= two1022;
|
||||
y *= two1022;
|
||||
double ret = __ieee754_sqrt (x * x + y * y) / two1022;
|
||||
double ret = sqrt (x * x + y * y) / two1022;
|
||||
math_check_force_underflow_nonneg (ret);
|
||||
return ret;
|
||||
}
|
||||
@ -126,9 +126,9 @@ __ieee754_hypot (double x, double y)
|
||||
{
|
||||
x *= two600;
|
||||
y *= two600;
|
||||
return __ieee754_sqrt (x * x + y * y) / two600;
|
||||
return sqrt (x * x + y * y) / two600;
|
||||
}
|
||||
}
|
||||
return __ieee754_sqrt (x * x + y * y);
|
||||
return sqrt (x * x + y * y);
|
||||
}
|
||||
strong_alias (__ieee754_hypot, __hypot_finite)
|
||||
|
@ -71,6 +71,6 @@ __ieee754_hypotf (float x, float y)
|
||||
{
|
||||
TEST_INF_NAN (x, y);
|
||||
|
||||
return __ieee754_sqrt ((double) x * x + (double) y * y);
|
||||
return sqrt ((double) x * x + (double) y * y);
|
||||
}
|
||||
strong_alias (__ieee754_hypotf, __hypotf_finite)
|
||||
|
Loading…
Reference in New Issue
Block a user