**[ Bottom of Page | Previous Page | Next Page | Contents | Index | ****Library Home** |
**Legal** |
**Search** ]
# Technical Reference: Base Operating System and Extensions, Volume 1

## ilogbf, ilogbl, or ilogb Subroutine

### Purpose

Returns an unbiased exponent.

### Syntax

#include <math.h>
int ilogbf (x)
float x;
int ilogbl (x)
long double x;
int ilogb (x)
double x;

### Description

The ilogbf, ilogbl, and ilogb subroutines return the exponent part of the x parameter. The return value is the integral part of log_{r} | x | as a signed integral value, for nonzero x, where r is the radix of the
machine's floating-point arithmetic (r=2).

An application wishing to check for error situations should set thre errno global variable to zero and call feclearexcept(FE_ALL_EXCEPT) before calling these
subroutines. Upon return, if errno is nonzero or fetestexcept(FE_INVALID | FE_DIVBYZERO
| FE_OVERFLOW | FE_UNDERFLOW) is nonzero, an error has occurred.

### Parameters

x |
Specifies the value to be computed. |

### Return Values

Upon successful completion, the ilogbf, ilogbl, and ilogb subroutines return the exponent
part of x as a signed integer value. They are equivalent
to calling the corresponding logb function and casting
the returned value to type int.

If x is 0, a domain error occurs, and the value FP_ILOGB0 is returned.

If x is ±Inf, a domain error occurs, and
the value {INT_MAX} is returned.

If x is a NaN, a domain error occurs, and the value FP_ILOGBNAN is returned.

If the correct value is greater than {INT_MAX}, {INT_MAX} is returned and a domain error occurs.

If the correct value is less than {INT_MIN}, {INT_MIN} is returned and a domain error occurs.

### Related Information

feclearexcept Subroutine and fetestexcept Subroutine.

math.h in AIX 5L Version 5.2 Files Reference.

**[ Top of Page | Previous Page | Next Page | Contents | Index | ****Library Home** |
**Legal** |
**Search** ]