Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


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:

           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").

NetBSD 10.99                    August 22, 2016                   NetBSD 10.99