NAME
ilogb,
ilogbf,
ilogbl
—
an unbiased exponent
LIBRARY
Math Library (libm, -lm)
SYNOPSIS
#include <math.h>
int
ilogb(
double
x);
int
ilogbf(
float
x);
int
ilogbl(
long
double x);
DESCRIPTION
The
ilogb(),
ilogbf(), and
ilogbl() functions return the exponent of the non-zero real
floating-point number
x as a signed integer value.
Formally the return value is the integral part of
log_r | x
|,
where
r is the radix of the machine's floating-point
arithmetic defined by the
FLT_RADIX
constant in
<float.h>.
RETURN VALUES
As described above, upon successful completion, the functions return the
exponent. Functionally this is the same as calling the corresponding
logb(3) function and casting the
return value to
int.
The following special cases may occur:
- If x is zero, the value of
FP_ILOGB0
is returned and a domain error
occurs.
- If x is infinite, a domain error
occurs and the value of
INT_MAX
is returned.
- If x is NaN, a domain error is
raised and the value of
FP_ILOGBNAN
is
returned.
- If the correct value is outside the range of the return
type, a domain error occurs but an unspecified value is returned.
SEE ALSO
ilog2(3),
logb(3),
math(3)
STANDARDS
The described functions conform to
ISO/IEC 9899:1999
(“ISO C99”).