summaryrefslogtreecommitdiff
path: root/src/math/logbl.c
blob: 962973a7b99bfffdcb2c1677a3c0b2ba5f87d357 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <math.h>
#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
long double logbl(long double x)
{
	return logb(x);
}
#else
long double logbl(long double x)
{
	if (!isfinite(x))
		return x * x;
	if (x == 0)
		return -1/(x*x);
	return ilogbl(x);
}
#endif