_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L;
or
cc -std=c99

logbf(),
logbl():

_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 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 integer constant
FLT_RADIX,
defined in
<float.h>,
indicates the radix used for the system's floating-point representation.
If
FLT_RADIX
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
-HUGE_VAL,
-HUGE_VALF,
or
-HUGE_VALL,
respectively.

If
x
is negative infinity or positive infinity, then
positive infinity is returned.

ERRORS

See
math_error(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
(FE_DIVBYZERO)
is raised.

This page is part of release 3.27 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/.