#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