ILOGB(3) |
Library Functions Manual |
ILOGB(3) |
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.
STANDARDS
The described functions conform to ISO/IEC 9899:1999 (“ISO C99”).
BUGS
Neither FP_ILOGB0 nor FP_ILOGBNAN is defined currently in NetBSD.