名前空間
変種
操作

標準ライブラリヘッダー <cfenv> (C++11)

From cppreference.com
 
 
標準ライブラリヘッダー
アルゴリズム
<algorithm>
<numeric>
文字列
<cctype>
<cstring>
<cuchar> (C++11)
<cwchar>
<cwctype>
<string_view> (C++17)
<string>
テキスト処理
<clocale>
<codecvt> (C++11/17/26*)
<locale>
<regex> (C++11)
<text_encoding> (C++26)   
数値
<cfenv> (C++11)
<cmath>
<complex>
<linalg> (C++26)
<numbers> (C++20)
<random> (C++11)
<simd> (C++26)
<valarray>
時間
<chrono> (C++11)
<ctime>
C互換
<ccomplex> (C++11/17/20*)
<ciso646> (C++20 まで)
<cstdalign> (C++11/17/20*)
<cstdbool> (C++11/17/20*)
<ctgmath> (C++11/17/20*)
 

このヘッダーは元々C標準ライブラリの<fenv.h>でした。

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

目次

[編集]

fenv_t
(C++11)
浮動小数点環境全体を表す型
(typedef) [編集]
fexcept_t
(C++11)
すべての浮動小数点ステータスフラグをまとめて表す型
(typedef) [編集]

[編集] 関数

指定された浮動小数点ステータスフラグをクリアする
(関数) [編集]
指定された浮動小数点ステータスフラグのうちどれが設定されているかを判定する
(関数) [編集]
指定された浮動小数点例外を発生させる
(関数) [編集]
指定された浮動小数点ステータスフラグの状態を浮動小数点環境との間でコピーする
(関数) [編集]
(C++11)(C++11)
丸め方向を取得または設定する
(関数) [編集]
現在の浮動小数点環境を保存または復元する
(関数) [編集]
環境を保存し、すべてのステータスフラグをクリアし、以降のすべてのエラーを無視する
(関数) [編集]
浮動小数点環境を復元し、以前に発生した例外を発生させる
(関数) [編集]

[編集] マクロ

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

[編集] 概要

#define FE_ALL_EXCEPT /* see description */
#define FE_DIVBYZERO /* see description */    // optional
#define FE_INEXACT /* see description */      // optional
#define FE_INVALID /* see description */      // optional
#define FE_OVERFLOW /* see description */     // optional
#define FE_UNDERFLOW /* see description */    // optional
 
#define FE_DOWNWARD /* see description */     // optional
#define FE_TONEAREST /* see description */    // optional
#define FE_TOWARDZERO /* see description */   // optional
#define FE_UPWARD /* see description */       // optional
 
#define FE_DFL_ENV /* see description */
 
namespace std {
    // types
    using fenv_t    = /* object type */;
    using fexcept_t = /* object type */;
 
    // functions
    int feclearexcept(int except);
    int fegetexceptflag(fexcept_t* pflag, int except);
    int feraiseexcept(int except);
    int fesetexceptflag(const fexcept_t* pflag, int except);
    int fetestexcept(int except);
    int fegetround(void);
    int fesetround(int mode);
    int fegetenv(fenv_t* penv);
    int feholdexcept(fenv_t* penv);
    int fesetenv(const fenv_t* penv);
    int feupdateenv(const fenv_t* penv);
}

[編集] 欠陥報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
LWG 3905 C++11 std::fexcept_t は整数型でなければならない これはオブジェクト型である
English 日本語 中文(简体) 中文(繁體)