ILOGB(3) BSD Programmer's Manual ILOGB(3)
ilogb, ilogbf, ilogbl - an unbiased exponent
libm
#include <math.h>
int
ilogb(double x);
int
ilogbf(float x);
int
ilogbl(long double x);
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 #include <float.h>
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:
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.
ilog2(3), logb(3), math(3)
The described functions conform to ISO/IEC 9899:1999 ("ISO C99").
Neither FP_ILOGB0 nor FP_ILOGBNAN is defined currently in NetBSD.
MirOS BSD #10-current July 29, 2011 1
Generated on 2012-08-25 11:57:48 by $MirOS: src/scripts/roff2htm,v 1.73 2012/07/01 16:04:30 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002‒2011 The MirOS Project, Germany.
This product includes material
provided by Thorsten Glaser.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.