Windows PowerShell command on Get-command fenv
MyWebUniversity

Manual Pages for UNIX Operating System command usage for man fenv

Headers fenv.h(3HEAD)

NAME

fenv.h, fenv - floating-point environment

SYNOPSIS

#include

DESCRIPTION

The header defines the following data types through

typedef:

fenv_t Represents the entire floating-point environ-

ment. The floating-point environment refers

collectively to any floating-point status flags

and control modes supported by the implementa-

tion.

fexcept_t Represents the floating-point status flags col-

lectively, including any status the implementa-

tion associates with the flags. A floating-

point status flag is a system variable whose value is set (but never cleared) when a

floating-point exception is raised, which

occurs as a side effect of exceptional

floating-point arithmetic to provide auxiliary

information. A floating-point control mode is a

system variable whose value can be set by the user to affect the subsequent behavior of

floating-point arithmetic.

The header defines the following constants if and

only if the implementation supports the floating-point

exception by means of the floating-point functions

feclearexcept(), fegetexceptflag(), feraiseexcept(), fesetexceptflag(), and fetestexcept(). Each expands to an

integer constant expression with values such that bitwise-

inclusive ORs of all combinations of the constants result in distinct values.

FE_DIVBYZERO

FE_INEXACT

FE_INVALID

FE_OVERFLOW

FE_UNDERFLOW

The header defines the following constant, which is

simply the bitwise-inclusive OR of all floating-point

SunOS 5.11 Last change: 15 Dec 2003 1

Headers fenv.h(3HEAD)

exception constants defined above:

FE_ALL_EXCEPT

The header defines the following constants. Each

expands to an integer constant expression whose values are

distinct non-negative values.

FE_DOWNWARD

FE_TONEAREST

FE_TOWARDZERO

FE_UPWARD

The header defines the following constant, which

represents the default floating-point environment (that is,

the one installed at program startup) and has type pointer

to const-qualified fenv_t. It can be used as an argument to

the functions within the header that manage the

floating-point environment.

FE_DFL_ENV

The FENV_ACCESS pragma provides a means to inform the imple-

mentation when an application might access the floating-

point environment to test floating-point status flags or run

under non-default floating-point control modes. The pragma

occurs either outside external declarations or preceding all explicit declarations and statements inside a compound statement. When outside external declarations, the pragma

takes effect from its occurrence until another FENV_ACCESS

pragma is encountered, or until the end of the translation unit. When inside a compound statement, the pragma takes

effect from its occurrence until another FENV_ACCESS pragma

is encountered (including within a nested compound state-

ment), or until the end of the compound statement; at the end of a compound statement the state for the pragma is

restored to its condition just before the compound state-

ment. If this pragma is used in any other context, the behavior is undefined.

If part of an application tests floating-point status flags,

sets floating-point control modes, or runs under non-default

mode settings, but was translated with the state for the

FENV_ ACCESS pragma off, the behavior is undefined. The

default state (on or off) for the pragma is implementation-

SunOS 5.11 Last change: 15 Dec 2003 2

Headers fenv.h(3HEAD)

defined. (When execution passes from a part of the applica-

tion translated with FENV_ACCESS off to a part translated

with FENV_ACCESS on, the state of the floating-point status

flags is unspecified and the floating-point control modes

have their default settings.)

USAGE

This header is designed to support the floating-point excep-

tion status flags and directed-rounding control modes

required by the IEC 60559: 1989 standard, and other similar

floating-point state information. Also, it is designed to

facilitate code portability among all systems. Certain application programming conventions support the intended

model of use for the floating-point environment:

o A function call does not alter its caller's

floating-point control modes, clear its caller's

floating-point status flags, or depend on the state

of its caller's floating-point status flags unless

the function is so documented. o A function call is assumed to require default

floating-point control modes, unless its documenta-

tion promises otherwise. o A function call is assumed to have the potential

for raising floating-point exceptions, unless its

documentation promises otherwise. With these conventions, an application can safely assume

default floating-point control modes (or be unaware of

them). The responsibilities associated with accessing the

floating-point environment fall on the application that does

so explicitly. Even though the rounding direction macros might expand to

constants corresponding to the values of FLT_ROUNDS, they

are not required to do so. For example:

#include

void f(double x) {

#pragma STDC FENV_ACCESS ON

void g(double); void h(double); /* ... */ g(x + 1); h(x + 1); /* ... */ }

SunOS 5.11 Last change: 15 Dec 2003 3

Headers fenv.h(3HEAD)

If the function g() might depend on status flags set as a side effect of the first x+1, or if the second x+1 might depend on control modes set as a side effect of the call to

function g(), then the application must contain an appropri-

ately placed invocation as follows:

#pragma STDC FENV_ACCESS ON

ATTRIBUTES

See attributes(5) for descriptions of the following attri-

butes:

____________________________________________________________

| ATTRIBUTE TYPE | ATTRIBUTE VALUE |

|_____________________________|_____________________________|

| Interface Stability | Committed |

|_____________________________|_____________________________|

| Standard | See standards(5). |

|_____________________________|_____________________________|

SEE ALSO

feclearexcept(3M), fegetenv(3M), fegetexceptflag(3M), fegetround(3M), feholdexcept(3M), feraiseexcept(3M), fesetenv(3M), fesetexceptflag(3M), fesetround(3M),

fetestexcept(3M), feupdateenv(3M), attributes(5), stan-

dards(5)

SunOS 5.11 Last change: 15 Dec 2003 4




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™