master
 1#include <math.h>
 2
 3/*
 4special cases:
 5	logb(+-0) = -inf, and raise divbyzero
 6	logb(+-inf) = +inf
 7	logb(nan) = nan
 8*/
 9
10double 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}