#include #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