FEGETENV(3) Library Functions Manual FEGETENV(3)

fegetenv, feholdexcept, fesetenv, feupdateenvfunctions providing access to the floating-point environment.

#include <fenv.h>
#pragma STDC FENV_ACCESS ON

int
fegetenv(fenv_t *envp);

int
feholdexcept(fenvt_t *envp);

int
fesetenv(fenv_t *envp);

int
feupdateenv(fenv_t *envp);

These functions provide the means to manage the entire floating-point environment--including both status flags and control modes--as a single entity.

The () function attempts to store the current floating-point environment in the object pointed to by envp. It returns zero if the environment was successfully stored, and a nonzero value otherwise.

The () function saves the current floating-point environment in the object pointed to by envp, clears the floating-point status flags, and then installs a "non-stop" mode, if available, under which no traps are taken for floating-point exceptions (as is the case in default IEEE-754 floating-point execution). It returns zero if and only if such a mode was successfully installed.

The () function attempts to establish the floating-point environment represented by the object pointed to by envp. This object shall have been set by a call to fegetenv() or feholdexcept(), or be equal to a floating-point environment macro defined in <fenv.h>. Note that this function merely installs the floating-point status flags represented by its argument, and does not raise the corresponding floating-point exceptions. It returns zero if and only if the environment pointed to by envp was successfully installed.

The () function attempts to save the currently raised floating-point flags, install the floating-point environment represented by *envp, and then raise the floating-point exceptions corresponding to the saved flags. The object pointed to by envp shall have been set by a call to fegetenv() or feholdexcept(), or be equal to a floating-point environment macro defined in <fenv.h>. It returns zero if and only if all of the specified actions were successfully carried out.

fenv(3), feclearexcept(3), fegetexceptflag(3), fegetround(3), feraiseexcept(3), fesetexceptflag(3), fesetround(3), feraiseexcept(3)

These functions conform to ISO/IEC 9899:TC3.

May 9, 2011 macOS 15.2