cor = cor + ((cs - y) - e1 * x1);
res = y + cor;
cor = (y - res) + cor;
- cor = 1.0005 * cor + ((cor > 0) ? eps : -eps);
+ cor = 1.0005 * cor + __copysign (eps, cor);
*corp = cor;
return res;
}
cor = cor + ((sn - y) + c1 * x1);
res = y + cor;
cor = (y - res) + cor;
- cor = 1.0005 * cor + ((cor > 0) ? eps : -eps);
+ cor = 1.0005 * cor + __copysign (eps, cor);
*corp = cor;
return res;
}
{
/* Taylor series. */
res = TAYLOR_SIN (xx, a, da, cor);
- cor = (cor > 0) ? 1.02 * cor + eps : 1.02 * cor - eps;
+ cor = 1.02 * cor + __copysign (eps, cor);
retval = (res == res + cor) ? res : sloww (a, da, x, k);
}
else
{
res = do_sin (a, da, &cor);
- cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
+ cor = 1.035 * cor + __copysign (eps, cor);
retval = ((res == res + cor) ? ((a > 0) ? res : -res)
: sloww1 (a, da, x, k));
}
case 1:
case 3:
res = do_cos (a, da, &cor);
- cor = (cor > 0) ? 1.025 * cor + eps : 1.025 * cor - eps;
+ cor = 1.025 * cor + __copysign (eps, cor);
retval = ((res == res + cor) ? ((k1 & 2) ? -res : res)
: sloww2 (a, da, x, n));
break;
{
/* Taylor series. */
res = TAYLOR_SIN (xx, a, da, cor);
- cor = (cor > 0) ? 1.02 * cor + eps : 1.02 * cor - eps;
+ cor = 1.02 * cor + __copysign (eps, cor);
retval = (res == res + cor) ? res : bsloww (a, da, x, n);
}
else
{
res = do_sin (a, da, &cor);
- cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
+ cor = 1.035 * cor + __copysign (eps, cor);
retval = ((res == res + cor) ? ((a > 0) ? res : -res)
: bsloww1 (a, da, x, n));
}
case 1:
case 3:
res = do_cos (a, da, &cor);
- cor = (cor > 0) ? 1.025 * cor + eps : 1.025 * cor - eps;
+ cor = 1.025 * cor + __copysign (eps, cor);
retval = ((res == res + cor) ? ((n & 2) ? -res : res)
: bsloww2 (a, da, x, n));
break;
if (xx < 0.01588)
{
res = TAYLOR_SIN (xx, a, da, cor);
- cor = (cor > 0) ? 1.02 * cor + 1.0e-31 : 1.02 * cor - 1.0e-31;
+ cor = 1.02 * cor + __copysign (1.0e-31, cor);
retval = (res == res + cor) ? res : sloww (a, da, x, 1);
}
else
{
res = do_sin (a, da, &cor);
- cor = (cor > 0) ? 1.035 * cor + 1.0e-31 : 1.035 * cor - 1.0e-31;
+ cor = 1.035 * cor + __copysign (1.0e-31, cor);
retval = ((res == res + cor) ? ((a > 0) ? res : -res)
: sloww1 (a, da, x, 1));
}
double eps = fabs (orig) * 3.1e-30;
- cor = 1.0005 * cor + ((cor > 0) ? eps : -eps);
+ cor = 1.0005 * cor + __copysign (eps, cor);
if (res == res + cor)
return res;
da = (x > 0) ? dx : -dx;
__dubsin (a, da, w);
eps = fabs (orig) * 1.1e-30;
- cor = 1.000000001 * w[1] + ((w[1] > 0) ? eps : -eps);
+ cor = 1.000000001 * w[1] + __copysign (eps, w[1]);
if (w[0] == w[0] + cor)
return (x > 0) ? w[0] : -w[0];
dx = (a > 0) ? da : -da;
__dubsin (x, dx, w);
eps = fabs (orig) * 1.1e-40;
- cor = 1.000000001 * w[1] + ((w[1] > 0) ? eps : -eps);
+ cor = 1.000000001 * w[1] + __copysign (eps, w[1]);
if (w[0] == w[0] + cor)
return (a > 0) ? w[0] : -w[0];
__dubsin (fabs (x), dx, w);
double eps = 1.1e-30 * fabs (orig);
- cor = 1.000000005 * w[1] + ((w[1] > 0) ? eps : -eps);
+ cor = 1.000000005 * w[1] + __copysign (eps, w[1]);
if (w[0] == w[0] + cor)
return (x > 0) ? w[0] : -w[0];
__docos (fabs (x), dx, w);
double eps = 1.1e-30 * fabs (orig);
- cor = 1.000000005 * w[1] + ((w[1] > 0) ? eps : -eps);
+ cor = 1.000000005 * w[1] + __copysign (eps, w[1]);
if (w[0] == w[0] + cor)
return (n & 2) ? -w[0] : w[0];
double res, cor, w[2], a, da;
res = TAYLOR_SLOW (x, dx, cor);
- cor = 1.0005 * cor + ((cor > 0) ? 1.1e-24 : -1.1e-24);
+ cor = 1.0005 * cor + __copysign (1.1e-24, cor);
if (res == res + cor)
return res;
a = fabs (x);
da = (x > 0) ? dx : -dx;
__dubsin (a, da, w);
- cor = 1.000000001 * w[1] + ((w[1] > 0) ? 1.1e-24 : -1.1e-24);
+ cor = 1.000000001 * w[1] + __copysign (1.1e-24, w[1]);
if (w[0] == w[0] + cor)
return (x > 0) ? w[0] : -w[0];
dx = (x > 0) ? dx : -dx;
__dubsin (fabs (x), dx, w);
- cor = 1.000000005 * w[1] + ((w[1] > 0) ? 1.1e-24 : -1.1e-24);
+ cor = 1.000000005 * w[1] + __copysign (1.1e-24, w[1]);
if (w[0] == w[0] + cor)
return (x > 0) ? w[0] : -w[0];
dx = (x > 0) ? dx : -dx;
__docos (fabs (x), dx, w);
- cor = 1.000000005 * w[1] + ((w[1] > 0) ? 1.1e-24 : -1.1e-24);
+ cor = 1.000000005 * w[1] + __copysign (1.1e-24, w[1]);
if (w[0] == w[0] + cor)
return (n & 2) ? -w[0] : w[0];