17 lines
266 B
C
17 lines
266 B
C
|
#include "libc/math/math.h"
|
||
|
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
|
||
|
long double logbl(long double x)
|
||
|
{
|
||
|
return logb(x);
|
||
|
}
|
||
|
#else
|
||
|
long double logbl(long double x)
|
||
|
{
|
||
|
if (!isfinite(x))
|
||
|
return x * x;
|
||
|
if (x == 0)
|
||
|
return -1/(x*x);
|
||
|
return ilogbl(x);
|
||
|
}
|
||
|
#endif
|