logf
float logf(float);
w = w + (0.25f * logf(a)) * I;
*rx = logf(A + sqrtf(A * A - 1));
return (CMPLXF(logf(hypotf(x / m_e, y / m_e)) + 1,
return (CMPLXF(logf(hypotf(x, y)), atan2f(y, x)));
return (CMPLXF(logf(ax * ax + ay * ay) / 2, atan2f(y, x)));
rx = (m_ln2 - logf(ay)) / 2;
p = logf(rr);
theta = theta + y * logf(absa);
__weak_alias(logf, _logf)
logf(float x)
return(logf(x)/ln10hi);
return logf(x)/ln2;
__weak_alias(logf, _logf)
logf(float x) /* wrapper logf */
CHECK_EQ(3, log1pf, 1, logf(2));
CHECK_NAN(i, logf, logf_invalid[i]);
CHECK_EQ(0, logf, +0., -HUGE_VALF);
CHECK_EQ(1, logf, -0., -HUGE_VALF);
CHECK_EQ(0, logf, 1, 0);
ATF_CHECK_EQ(signbit(logf(1)), 0);
ATF_CHECK_MSG(fabsf((logf(2) - log_2)/log_2) < 2*FLT_EPSILON,
logf(2), logf(2), (float)log_2, (float)log_2);
ATF_CHECK_MSG(fabsf((logf(e) - 1)/1) < 2*FLT_EPSILON,
"logf(e)=%a=%.8g", logf(e), logf(e));
ATF_CHECK_MSG(fabsf((logf(e2) - 2)/2) < 2*FLT_EPSILON,
"logf(e)=%a=%.8g", logf(e2), logf(e2));
ATF_CHECK_MSG(fabsf((logf(10) - log_10)/log_10) < 2*FLT_EPSILON,
logf(10), logf(10), (float)log_10, (float)log_10);
CHECK_EQ(0, logf, INFINITY, INFINITY);