logbl.c raw

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