Sign in
cobalt
/
cobalt
/
97b64f26fb12c9eab352139c26f0b01d1cb6d0b9
/
.
/
third_party
/
musl
/
src
/
math
/
logb.c
blob: 7f8bdfae19f8ca0a85b611d38a73695ccf588e43 [
file
] [
log
] [
blame
]
#include
<math.h>
/*
special cases:
logb(+-0) = -inf, and raise divbyzero
logb(+-inf) = +inf
logb(nan) = nan
*/
double
logb
(
double
x
)
{
if
(!
isfinite
(
x
))
return
x
*
x
;
if
(
x
==
0
)
return
-
1
/(
x
*
x
);
return
ilogb
(
x
);
}