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 denormalized, 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 nonzero or fetestexcept(FE_INVALID  FE_DIVBYZERO  FE_OVER
FLOW  FE_UNDERFLOW) is nonzero, an error has occurred.
If an error occurs and (math_errhandling & MATH_ERRNO) is nonzero,
then errno is set to ERANGE. If an error occurs and (math_errhandling
& MATH_ERREXCEPT) is nonzero, then the dividebyzero floatingpoint
exception is raised.
A pole error occurs when x is zero.
CONFORMING TO
C99.
SEE ALSO
ilogb(3), log(3)
COLOPHON
This page is part of release 3.05 of the Linux manpages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/manpages/.
20070726 LOGB(3)
