Sign in
fuchsia
/
zircon
/
/
13ee3dc5e4c46bf127977ad28645c47442ec517d
/
.
/
third_party
/
ulib
/
musl
/
src
/
math
/
logb.c
blob: 176cc240b298171d581fbdc1d5ee8d1ad120b51a [
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
);
}