• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include <math.h>
2 
3 /*
4 special cases:
5 	logb(+-0) = -inf, and raise divbyzero
6 	logb(+-inf) = +inf
7 	logb(nan) = nan
8 */
9 
logb(double x)10 double logb(double x)
11 {
12 	if (!isfinite(x))
13 		return x * x;
14 	if (x == 0)
15 		return -1/(x*x);
16 	return ilogb(x);
17 }
18