C言語編 標準ライブラリのリファレンス fegetround

先頭へ戻る

fegetround関数

概要 現在の丸め方向を取得する
ヘッダ fenv.h
形式 int fegetround(void);
引数 なし
戻り値 現在の丸め方向を表すマクロの値。何らかの事情で、丸め方向が決定できない場合には、負数を返す。
詳細 現在の丸め方向を表すマクロの値を返す。このマクロは、標準では FE_TONEARESTFE_UPWARDFE_DOWNWARDFE_TOWARDZERO の4つである。ただし、処理系がサポートしない丸め方向については、該当のマクロも定義されていない。また、処理系が標準以外の丸め方向をサポートする場合は、FE_ で始まる名前のマクロが追加定義されており、それを返す可能性がある。
注意 FENV_ACCESS 標準プラグマの状態が ON でなければならない。
使用例
#include <fenv.h>
#include <math.h>
#include <stdio.h>

#if defined(_MSC_VER)
#pragma fenv_access (on)
#else
#pragma STDC FENV_ACCESS ON
#endif

int main(void)
{
    int round = fegetround();

    switch( round ){
    case FE_DOWNWARD:
        puts( "FE_DOWNWARD" );
        break;
    case FE_UPWARD:
        puts( "FE_UPWARD" );
        break;
    case FE_TONEAREST:
        puts( "FE_TONEAREST" );
        break;
    case FE_TOWARDZERO:
        puts( "FE_TOWARDZERO" );
        break;
    default:
        if( round >= 0 ){
            puts( "others" );
        }
        else{
            puts( "unknown" );
        }
        break;
    }

    return 0;
}

実行結果:

FE_TONEAREST
関連 丸め方向は、fesetround関数で設定できる。
解説章


参考リンク

更新履歴

'2018/5/26 新規作成。





標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ


このエントリーをはてなブックマークに追加
rss1.0 取得ボタン RSS