FEGETENV(3) | Library Functions Manual | FEGETENV(3) |
fegetenv, feholdexcept, fesetenv,
feupdateenv
— functions 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
fegetenv
()
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
feholdexcept
()
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
fesetenv
()
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
feupdateenv
()
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 14.6 |