Sign in
cobalt
/
cobalt
/
f9bc0139df6e6eb149345ab9b6ffcc40603fc09f
/
.
/
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
);
}