#, fuzzy msgid "" msgstr "" "Project-Id-Version: man-pages-l10n VERSION\n" "POT-Creation-Date: 2014-07-17 17:57+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: man-pages-posix/man0p/fenv.h.0p:2 #, no-wrap msgid "fenv.h" msgstr "" #. type: TH #: man-pages-posix/man0p/fenv.h.0p:2 #, no-wrap msgid "2013" msgstr "" #. type: TH #: man-pages-posix/man0p/fenv.h.0p:2 #, no-wrap msgid "IEEE/The Open Group" msgstr "" #. type: TH #: man-pages-posix/man0p/fenv.h.0p:2 #, no-wrap msgid "POSIX Programmer's Manual" msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:3 #, no-wrap msgid "PROLOG" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:8 msgid "" "This manual page is part of the POSIX Programmer's Manual. The Linux " "implementation of this interface may differ (consult the corresponding Linux " "manual page for details of Linux behavior), or the interface may not be " "implemented on Linux." msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:9 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:12 msgid "fenv.h \\(em floating-point environment" msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:12 #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:16 #, no-wrap msgid "#include Efenv.hE\n" msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:17 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:21 msgid "" "The functionality described on this reference page is aligned with the ISO\\ " "C standard. Any conflict between the requirements described here and the " "ISO\\ C standard is unintentional. This volume of POSIX.1\\(hy2008 defers to " "the ISO\\ C standard." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:26 msgid "" "The Ifenv.hE> header shall define the following data types through " "B:" msgstr "" #. type: IP #: man-pages-posix/man0p/fenv.h.0p:26 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:30 msgid "" "Represents the entire floating-point environment. The floating-point " "environment refers collectively to any floating-point status flags and " "control modes supported by the implementation." msgstr "" #. type: IP #: man-pages-posix/man0p/fenv.h.0p:30 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:39 msgid "" "Represents the floating-point status flags collectively, including any " "status the implementation 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 may be set by " "the user to affect the subsequent behavior of floating-point arithmetic." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:53 msgid "" "The Ifenv.hE> header shall define each of the following macros if " "and only if the implementation supports the floating-point exception by " "means of the floating-point functions I(), " "I(), I(), I(), and " "I(). The defined macros shall expand to integer constant " "expressions with values that are bitwise-distinct." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:60 msgid "FE_DIVBYZERO FE_INEXACT FE_INVALID FE_OVERFLOW FE_UNDERFLOW" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:67 msgid "" "If the implementation supports the IEC 60559 Floating-Point option, all five " "macros shall be defined. Additional implementation-defined floating-point " "exceptions with macros beginning with FE_ and an uppercase letter may also " "be specified by the implementation." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:74 msgid "" "The Ifenv.hE> header shall define the macro FE_ALL_EXCEPT as the " "bitwise-inclusive OR of all floating-point exception macros defined by the " "implementation, if any. If no such macros are defined, then the macro " "FE_ALL_EXCEPT shall be defined as zero." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:85 msgid "" "The Ifenv.hE> header shall define each of the following macros if " "and only if the implementation supports getting and setting the represented " "rounding direction by means of the I() and I() " "functions. The defined macros shall expand to integer constant expressions " "whose values are distinct non-negative values." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:91 msgid "FE_DOWNWARD FE_TONEAREST FE_TOWARDZERO FE_UPWARD" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:98 msgid "" "If the implementation supports the IEC 60559 Floating-Point option, all four " "macros shall be defined. Additional implementation-defined rounding " "directions with macros beginning with FE_ and an uppercase letter may also " "be specified by the implementation." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:108 msgid "" "The Ifenv.hE> header shall define the following macro, which " "represents the default floating-point environment (that is, the one " "installed at program startup) and has type pointer to const-qualified " "B. It can be used as an argument to the functions within the " "Ifenv.hE> header that manage the floating-point environment." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:111 msgid "FE_DFL_ENV" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:115 msgid "" "The following shall be declared as functions and may also be defined as " "macros. Function prototypes shall be provided." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:130 #, no-wrap msgid "" "B<\n" "int feclearexcept(int);\n" "int fegetenv(fenv_t *);\n" "int fegetexceptflag(fexcept_t *, int);\n" "int fegetround(void);\n" "int feholdexcept(fenv_t *);\n" "int feraiseexcept(int);\n" "int fesetenv(const fenv_t *);\n" "int fesetexceptflag(const fexcept_t *, int);\n" "int fesetround(int);\n" "int fetestexcept(int);\n" "int feupdateenv(const fenv_t *);>\n" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:157 msgid "" "The FENV_ACCESS pragma provides a means to inform the implementation 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 shall occur 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 statement), 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 statement. 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-defined. " "(When execution passes from a part of the application 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.)" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:159 msgid "I" msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:159 #, no-wrap msgid "APPLICATION USAGE" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:164 msgid "" "This header is designed to support the floating-point exception 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." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:167 msgid "" "Certain application programming conventions support the intended model of " "use for the floating-point environment:" msgstr "" #. type: IP #: man-pages-posix/man0p/fenv.h.0p:167 man-pages-posix/man0p/fenv.h.0p:172 man-pages-posix/man0p/fenv.h.0p:175 #, no-wrap msgid " *" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:172 msgid "" "A function call does not alter its caller's floating-point control modes, " "clear its caller's floating-point status flags, nor depend on the state of " "its caller's floating-point status flags unless the function is so " "documented." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:175 msgid "" "A function call is assumed to require default floating-point control modes, " "unless its documentation promises otherwise." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:178 msgid "" "A function call is assumed to have the potential for raising floating-point " "exceptions, unless its documentation promises otherwise." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:183 msgid "" "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." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:187 msgid "" "Even though the rounding direction macros may expand to constants " "corresponding to the values of FLT_ROUNDS, they are not required to do so." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:189 msgid "For example:" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:204 #, no-wrap msgid "" "B<\n" "#include Efenv.hE\n" "void f(double x)\n" "{\n" " #pragma STDC FENV_ACCESS ON\n" " void g(double);\n" " void h(double);\n" " /* ... */\n" " g(x + 1);\n" " h(x + 1);\n" " /* ... */\n" "}>\n" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:219 msgid "" "If the function I() might depend on status flags set as a side-effect of " "the first I+1, or if the second I+1 might depend on control modes set " "as a side-effect of the call to function I(), then the application shall " "contain an appropriately placed invocation as follows:" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:224 #, no-wrap msgid "B<\n" "#pragma STDC FENV_ACCESS ON>\n" msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:227 #, no-wrap msgid "RATIONALE" msgstr "" #. type: SS #: man-pages-posix/man0p/fenv.h.0p:228 #, no-wrap msgid "The fexcept_t Type" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:250 msgid "" "B does not have to be an integer type. Its values must be " "obtained by a call to I(), and cannot be created by logical " "operations from the exception macros. An implementation might simply " "implement B as an B and use the representations reflected by " "the exception macros, but is not required to; other representations might " "contain extra information about the exceptions. B might be a " "B with a member for each exception (that might hold the address of " "the first or last floating-point instruction that caused that exception). " "The ISO/IEC\\ 9899:\\|1999 standard makes no claims about the internals of " "an B, and so the user cannot inspect it." msgstr "" #. type: SS #: man-pages-posix/man0p/fenv.h.0p:250 #, no-wrap msgid "Exception and Rounding Macros" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:257 msgid "" "Macros corresponding to unsupported modes and rounding directions are not " "defined by the implementation and must not be defined by the application. An " "application might use B<#ifdef> to test for this." msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:257 #, no-wrap msgid "FUTURE DIRECTIONS" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:259 msgid "None." msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:259 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:269 msgid "" "The System Interfaces volume of POSIX.1\\(hy2008, I\\^(\\|), " "I\\^(\\|), I\\^(\\|), I\\^(\\|), " "I\\^(\\|), I\\^(\\|), I\\^(\\|), " "I\\^(\\|)" msgstr "" #. type: SH #: man-pages-posix/man0p/fenv.h.0p:269 #, no-wrap msgid "COPYRIGHT" msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:280 msgid "" "Portions of this text are reprinted and reproduced in electronic form from " "IEEE Std 1003.1, 2013 Edition, Standard for Information Technology -- " "Portable Operating System Interface (POSIX), The Open Group Base " "Specifications Issue 7, Copyright (C) 2013 by the Institute of Electrical " "and Electronics Engineers, Inc and The Open Group. (This is POSIX.1-2008 " "with the 2013 Technical Corrigendum 1 applied.) In the event of any " "discrepancy between this version and the original IEEE and The Open Group " "Standard, the original IEEE and The Open Group Standard is the referee " "document. The original Standard can be obtained online at http://www.unix." "org/online.html ." msgstr "" #. type: Plain text #: man-pages-posix/man0p/fenv.h.0p:285 msgid "" "Any typographical or formatting errors that appear in this page are most " "likely to have been introduced during the conversion of the source files to " "man page format. To report such errors, see https://www.kernel.org/doc/man-" "pages/reporting_bugs.html ." msgstr ""