LOGB
Section: Linux Programmer's Manual (3)
Updated: 2004-10-31
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 floating-point value. If
FLT_RADIX
is two,
logb(x)
is equal to
floor(log2(x)),
except it's 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
feclearexcept(FE_ALL_EXCEPT)
before calling these functions. On return, if
errno
is non-zero or
fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | 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.
HISTORY
The
logb
function occurs in BSD 4.3.
CONFORMING TO
ISO C99
SEE ALSO
log(3),
ilogb(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- ERRORS
-
- HISTORY
-
- CONFORMING TO
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 00:12:38 GMT, May 13, 2005
www.fiveanddime.net