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