ILOGB(3) BSD 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 correspond-
ing logb(3) function and casting the return value to int.
The following special cases may occur:
1. If x is zero, the value of FP_ILOGB0 is returned and a domain error occurs.
2. If x is infinite, a domain error occurs and the value of INT_MAX is returned.
3. If x is NaN, a domain error is raised and the value of FP_ILOGBNAN is returned.
4. 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'').
BUGS
Neither FP_ILOGB0 nor FP_ILOGBNAN is defined currently in NetBSD.
BSD
July 29, 2011 BSD