FEGETENV(3) BSD Library Functions Manual FEGETENV(3)NAME
fegetenv, feholdexcept, fesetenv, feupdateenv — functions providing
access to the floating-point environment.
SYNOPSIS
#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);
DESCRIPTION
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 environ‐
ment 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 excep‐
tions. 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 float‐
ing-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 environ‐
ment macro defined in <fenv.h>. It returns zero if and only if all of
the specified actions were successfully carried out.
SEE ALSOfenv(3), feclearexcept(3), fegetexceptflag(3), fegetround(3),
feraiseexcept(3), fesetexceptflag(3), fesetround(3), feraiseexcept(3)STANDARDS
These functions conform to ISO/IEC 9899:TC3.
BSD May 9, 2011 BSD