logb (3)

LOGB(3) Linux Programmer's Manual LOGB(3) NAME logb, logbf, logbl - get exponent of a floating point value SYNOPSIS #include <math.h> double logb(double x); float logbf(float x); long double logbl(long double x); Link with -lm. Feature Test Macro Requirements for glibc (see feature_test_macros(7)): logb(), logbf(), logbl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE; or cc -std=c99 DESCRIPTION These functions extract the exponent of x and return it as a floating- point value. If FLT_RADIX is two, logb(x) is equal to floor(log2(x)), except that it is probably faster. If x is de-normalized, logb() returns the exponent x would have if it were normalized. If x is zero, -HUGE_VAL (resp. -HUGE_VALF, -HUGE_VALL) is returned, and a pole error occurs. If x is infinite, plus infinity is returned. If x is NaN, NaN is returned. ERRORS In order to check for errors, set errno to zero and call feclearex- cept(FE_ALL_EXCEPT) before calling these functions. On return, if errno is non-zero or fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVER- FLOW | FE_UNDERFLOW) is non-zero, an error has occurred. If an error occurs and (math_errhandling & MATH_ERRNO) is non-zero, then errno is set to ERANGE. If an error occurs and (math_errhandling & MATH_ERREXCEPT) is non-zero, then the divide-by-zero floating-point exception is raised. A pole error occurs when x is zero. CONFORMING TO C99 SEE ALSO log(3), ilogb(3) 2007-07-26 LOGB(3)