NAME
logb, logbf, logbl - get exponent of a floating-point value SYNOPSIS
#include
double logb(double x); float logbf(float x); long double logbl(long double x); Link with -lm. Feature Test Macro Requirements for glibc (see featuretestmacros(7)): logb(): BSDSOURCE || SVIDSOURCE || XOPENSOURCE >= 500 || XOPENSOURCE && XOPENSOURCEEXTENDED || ISOC99SOURCE || POSIXCSOURCE >= 200112L;
or cc -std=c99 logbf(), logbl(): BSDSOURCE || SVIDSOURCE || XOPENSOURCE >= 600 || ISOC99SOURCE || POSIXCSOURCE >= 200112L;
or cc -std=c99 DESCRIPTION
These functions extract the exponent from the internal floating-point
representation of x and return it as a floating-point value. The inte‐ ger constant FLTRADIX, defined in
, indicates the radix used for the system's floating-point representation. If FLTRADIX is 2, logb(x) is equal to floor(log2(x)), except that it is probably faster. If x is subnormal, logb() returns the exponent x would have if it were normalized. RETURN VALUE On success, these functions return the exponent of x. If x is a NaN, a NaN is returned. If x is zero, then a pole error occurs, and the functions return
-HUGEVAL, -HUGEVALF, or -HUGEVALL, respectively. If x is negative infinity or positive infinity, then positive infinity is returned. ERRORS See matherror(7) for information on how to determine whether an error has occurred when calling these functions. The following errors can occur: Pole error: x is 0
A divide-by-zero floating-point exception (FEDIVBYZERO) is raised. These functions do not set errno. ATTRIBUTES For an explanation of the terms used in this section, see attributes(7). ┌─────────────────────────┬───────────────┬─────────┐ │Interface │ Attribute │ Value │ ├─────────────────────────┼───────────────┼─────────┤
│logb(), logbf(), logbl() │ Thread safety │ MT-Safe │ └─────────────────────────┴───────────────┴─────────┘ CONFORMING TO
C99, POSIX.1-2001. SEE ALSO ilogb(3), log(3) COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
2010-09-20 LOGB(3)