LOGB
Section: Linux Programmer's Manual (3)
Updated: 20041031
Index
Return to Main Contents
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.
DESCRIPTION
These functions extract the exponent of
x
and return it as a floatingpoint value. If
FLT_RADIX
is two,
logb(x)
is equal to
floor(log2(x)),
except it's 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
feclearexcept(FE_ALL_EXCEPT)
before calling these functions. On return, if
errno
is nonzero or
fetestexcept(FE_INVALID  FE_DIVBYZERO  FE_OVERFLOW  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.
HISTORY
The
logb()
function occurs in 4.3BSD.
CONFORMING TO
C99
SEE ALSO
log(3),
ilogb(3)
Index
 NAME

 SYNOPSIS

 DESCRIPTION

 ERRORS

 HISTORY

 CONFORMING TO

 SEE ALSO

linux.jgfs.net manual pages