2013-04-24 Joseph Myers <joseph@codesourcery.com>
+ * math/s_catanf.c (__catanf): Use suffixed floating-point
+ constants.
+ * math/s_catanhf.c (__catanhf): Likewise.
+ * math/s_catanhl.c (__catanhl): Likewise.
+ * math/s_catanl.c (__catanl): Likewise.
+
[BZ #15394]
* math/s_catan.c (__catan): Calculate imaginary part of result
with log1p not log unless computing log of number close to 0.
den = 1 - r2 - __imag__ x * __imag__ x;
- __real__ res = 0.5 * __ieee754_atan2f (2.0 * __real__ x, den);
+ __real__ res = 0.5f * __ieee754_atan2f (2.0f * __real__ x, den);
- num = __imag__ x + 1.0;
+ num = __imag__ x + 1.0f;
num = r2 + num * num;
- den = __imag__ x - 1.0;
+ den = __imag__ x - 1.0f;
den = r2 + den * den;
f = num / den;
- if (f < 0.5)
- __imag__ res = 0.25 * __ieee754_logf (f);
+ if (f < 0.5f)
+ __imag__ res = 0.25f * __ieee754_logf (f);
else
{
- num = 4.0 * __imag__ x;
- __imag__ res = 0.25 * __log1pf (num / den);
+ num = 4.0f * __imag__ x;
+ __imag__ res = 0.25f * __log1pf (num / den);
}
}
{
float i2 = __imag__ x * __imag__ x;
- float num = 1.0 + __real__ x;
+ float num = 1.0f + __real__ x;
num = i2 + num * num;
- float den = 1.0 - __real__ x;
+ float den = 1.0f - __real__ x;
den = i2 + den * den;
float f = num / den;
- if (f < 0.5)
- __real__ res = 0.25 * __ieee754_logf (f);
+ if (f < 0.5f)
+ __real__ res = 0.25f * __ieee754_logf (f);
else
{
- num = 4.0 * __real__ x;
- __real__ res = 0.25 * __log1pf (num / den);
+ num = 4.0f * __real__ x;
+ __real__ res = 0.25f * __log1pf (num / den);
}
den = 1 - __real__ x * __real__ x - i2;
- __imag__ res = 0.5 * __ieee754_atan2f (2.0 * __imag__ x, den);
+ __imag__ res = 0.5f * __ieee754_atan2f (2.0f * __imag__ x, den);
}
return res;
{
long double i2 = __imag__ x * __imag__ x;
- long double num = 1.0 + __real__ x;
+ long double num = 1.0L + __real__ x;
num = i2 + num * num;
- long double den = 1.0 - __real__ x;
+ long double den = 1.0L - __real__ x;
den = i2 + den * den;
long double f = num / den;
- if (f < 0.5)
- __real__ res = 0.25 * __ieee754_logl (f);
+ if (f < 0.5L)
+ __real__ res = 0.25L * __ieee754_logl (f);
else
{
- num = 4.0 * __real__ x;
- __real__ res = 0.25 * __log1pl (num / den);
+ num = 4.0L * __real__ x;
+ __real__ res = 0.25L * __log1pl (num / den);
}
den = 1 - __real__ x * __real__ x - i2;
- __imag__ res = 0.5 * __ieee754_atan2l (2.0 * __imag__ x, den);
+ __imag__ res = 0.5L * __ieee754_atan2l (2.0L * __imag__ x, den);
}
return res;
den = 1 - r2 - __imag__ x * __imag__ x;
- __real__ res = 0.5 * __ieee754_atan2l (2.0 * __real__ x, den);
+ __real__ res = 0.5L * __ieee754_atan2l (2.0L * __real__ x, den);
- num = __imag__ x + 1.0;
+ num = __imag__ x + 1.0L;
num = r2 + num * num;
- den = __imag__ x - 1.0;
+ den = __imag__ x - 1.0L;
den = r2 + den * den;
f = num / den;
- if (f < 0.5)
- __imag__ res = 0.25 * __ieee754_logl (f);
+ if (f < 0.5L)
+ __imag__ res = 0.25L * __ieee754_logl (f);
else
{
- num = 4.0 * __imag__ x;
- __imag__ res = 0.25 * __log1pl (num / den);
+ num = 4.0L * __imag__ x;
+ __imag__ res = 0.25L * __log1pl (num / den);
}
}