Namespaces
Variants

Standard library header <fenv.h> (C99)

From cppreference.net

このヘッダは 浮動小数点環境 ライブラリの一部です。

目次

翻訳のポイント: - 「Contents」を「目次」に翻訳 - C++関連の用語(Types, Functions, Macros, Synopsis)は原文のまま保持 - HTMLタグ、属性、クラス名は一切変更せず - 数値、構造、書式は完全に維持

ヘッダーで定義 <fenv.h>
fenv_t 浮動小数点環境全体を表す型
fexcept_t すべての浮動小数点ステータスフラグを集合的に表す型

関数

指定された浮動小数点ステータスフラグをクリアする
(関数)
指定された浮動小数点ステータスフラグのうち設定されているものを判定する
(関数)
指定された浮動小数点例外を発生させる
(関数)
指定された浮動小数点ステータスフラグの状態を浮動小数点環境から取得、または浮動小数点環境へ設定する
(関数)
丸め方向を取得または設定する
(関数)
現在の浮動小数点環境を保存または復元する
(関数)
環境を保存し、すべてのステータスフラグをクリアして将来のすべてのエラーを無視する
(関数)
浮動小数点環境を復元し、以前に発生した例外を発生させる
(関数)

マクロ

浮動小数点例外
(マクロ定数)
浮動小数点丸め方向
(マクロ定数)
デフォルト浮動小数点環境
(マクロ定数)

概要

#define __STDC_VERSION_FENV_H__ 202311L
#define FE_ALL_EXCEPT         /* 説明を参照 */
#define FE_DIVBYZERO          /* 説明を参照 */
#define FE_INEXACT            /* 説明を参照 */
#define FE_INVALID            /* 説明を参照 */
#define FE_OVERFLOW           /* 説明を参照 */
#define FE_UNDERFLOW          /* 説明を参照 */
#define FE_DOWNWARD           /* 説明を参照 */
#define FE_TONEARESTFROMZERO  /* 説明を参照 */
#define FE_TONEAREST          /* 説明を参照 */
#define FE_TOWARDZERO         /* 説明を参照 */
#define FE_UPWARD             /* 説明を参照 */
#define FE_DFL_ENV            /* 説明を参照 */
#define FE_DFL_MODE           /* 説明を参照 */
#define fenv_t                /* 説明を参照 */
#define fexcept_t             /* 説明を参照 */
#define femode_t              /* 説明を参照 */
#pragma STDC FENV_ACCESS      /*on-off-switch*/
#pragma STDC FENV_ROUND       direction
#pragma STDC FENV_ROUND       FE_DYNAMIC
// 関数
int feclearexcept(int excepts);
int fegetexceptflag(fexcept_t* flagp, int excepts);
int feraiseexcept(int excepts);
int fesetexcept(int excepts);
int fesetexceptflag(const fexcept_t* flagp, int excepts);
int fetestexceptflag(const fexcept_t* flagp, int excepts);
int fetestexcept(int excepts);
int fegetmode(femode_t* modep);
int fegetround(void);
int fesetmode(const femode_t* modep);
int fesetround(int rnd);
int fegetenv(fenv_t* envp);
int feholdexcept(fenv_t* envp);
int fesetenv(const fenv_t* envp);
int feupdateenv(const fenv_t* envp);
// __STDC_IEC_60559_DFP__ が定義されている実装のみ:
#define FE_DEC_DOWNWARD            /* 実装定義 */
#define FE_DEC_TONEARESTFROMZERO   /* 実装定義 */
#define FE_DEC_TONEAREST           /* 実装定義 */
#define FE_DEC_TOWARDZERO          /* 実装定義 */
#define FE_DEC_UPWARD              /* 実装定義 */
#pragma STDC FENV_DEC_ROUND /*dec-direction*/
int fe_dec_getround(void);
int fe_dec_setround(int rnd);
// 実装が F.2.2 の推奨プラクティスに従う場合のみ:
#define FE_SNANS_ALWAYS_SIGNAL /* 実装定義 */