Changeset View
Changeset View
Standalone View
Standalone View
lib/msun/src/catrig.c
Show First 20 Lines • Show All 605 Lines • ▼ Show 20 Lines | catanh(double complex z) | ||||
if (ax > RECIP_EPSILON || ay > RECIP_EPSILON) | if (ax > RECIP_EPSILON || ay > RECIP_EPSILON) | ||||
return (CMPLX(real_part_reciprocal(x, y), | return (CMPLX(real_part_reciprocal(x, y), | ||||
copysign(pio2_hi + pio2_lo, y))); | copysign(pio2_hi + pio2_lo, y))); | ||||
if (ax < SQRT_3_EPSILON / 2 && ay < SQRT_3_EPSILON / 2) { | if (ax < SQRT_3_EPSILON / 2 && ay < SQRT_3_EPSILON / 2) { | ||||
/* | /* | ||||
* z = 0 was filtered out above. All other cases must raise | * z = 0 was filtered out above. All other cases must raise | ||||
* inexact, but this is the only only that needs to do it | * inexact, but this is the only case that needs to do it | ||||
* explicitly. | * explicitly. | ||||
*/ | */ | ||||
raise_inexact(); | raise_inexact(); | ||||
return (z); | return (z); | ||||
} | } | ||||
if (ax == 1 && ay < DBL_EPSILON) | if (ax == 1 && ay < DBL_EPSILON) | ||||
rx = (m_ln2 - log(ay)) / 2; | rx = (m_ln2 - log(ay)) / 2; | ||||
Show All 33 Lines |