fenv.h

Overview

Related Modules:

MATH

Description:

Declares specific functions for performing operations for floating-point exceptions and rounding modes.

You can use the functions provided in this file to set, clear, and store the current floating-point exception and to obtain and set the current rounding mode.

Since:

1.0

Version:

1.0

Summary

Data Structures

Data Structure Name

Description

fenv_t

Defines the floating-point environment.

Macros

Macro Name and Value

Description

FE_INVALID   1

Indicates an invalid floating-point exception. At least one parameter value is not defined in the function.

FE_DIVBYZERO   2

Indicates a pole error exception. The return value is asymptotically infinite when the divisor is zero or the input is asymptotic to zero.

FE_OVERFLOW   4

Indicates an overflow floating-point exception. The result is too large to be represented in the normal return value.

FE_UNDERFLOW   8

Indicates an underflow floating-point exception. The result is too small to be represented in the normal return value.

FE_INEXACT   16

Indicates an inexact floating-point exception.

FE_ALL_EXCEPT   31

Indicates bitwise OR of all the preceding supported floating-point exceptions.

FE_TONEAREST   0

Indicates rounding towards the nearest integer.

FE_DOWNWARD   0x800000

Indicates rounding towards negative infinity.

FE_UPWARD   0x400000

Indicates rounding towards positive infinity.

FE_TOWARDZERO   0xc00000

Indicates rounding towards zero.

FE_DFL_ENV   ((const fenv_t *) -1)

Defines the default floating-point environment.

Typedefs

Typedef Name

Description

fexcept_t

typedef unsigned long 

Floating-point exception type.

Functions

Function Name

Description

feclearexcept (int excepts)

int 

Clears floating-point exceptions specified by excepts.

fegetexceptflag (fexcept_tflagp, int excepts)

int 

Stores the floating-point exceptions specified by excepts into the flagp variable address.

feraiseexcept (int excepts)

int 

Obtains the floating-point exceptions specified by excepts.

fesetexceptflag (const fexcept_t flagp, int excepts)

int 

Sets the exception status flag by copying the floating-point exceptions stored in the flagp address to the excepts parameter.

fetestexcept (int excepts)

int 

Checks whether the floating-point exceptions specified by excepts have been raised.

fegetround (void)

int 

Obtains the macro corresponding to the current rounding mode.

fesetround (int rounding_mode)

int 

Sets the rounding mode.

fegetenv (fenv_tenvp)

int 

Stores the current floating-point environment into the object specified by envp.

feholdexcept (fenv_t envp)

int 

Stores the current floating-point environment into the object specified by envp, with all status flags cleared.

fesetenv (const fenv_tenvp)

int 

Sets the current floating-point environment.

feupdateenv (const fenv_t envp)

int 

Updates the current floating-point environment from the object specified by envp.