先頭へ戻る

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

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(名前順)

Programming Place Plus トップページ -- C言語編 -- 標準ライブラリのリファレンス(ヘッダ別)

先頭へ戻る

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 のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー