3.10 ARM 浮動小数点環境を制御するための C99 互換関数

コンパイラは、C99 標準で定義されるすべての関数、および C99 標準ではない関数をサポートします。C99 互換関数は、固有の戻り値を定義できるユーザ定義の例外トラップハンドラをインストールするための唯一のインタフェースです。この機能の関数プロトタイプ、データ型、およびマクロのすべては fenv.h 内で定義されています。

この機能では、--fpmode=ieee_full--fpmode=ieee_fixed など、例外をサポートする浮動小数点モデルを選択する必要があります。
C99 では、fenv_tfexcept_t の 2 つのデータ型が定義されています。C99 標準ではこれらの型に関する情報が指定されていないため、移植可能なコードを作成するには、これらの型を内部的に処理する必要があります。コンパイラでは、これらの型は構造体型として定義されます。
fenv_t 型は、現在の浮動小数点環境に関する以下のすべての情報を保持するように定義されています。以下のもので構成されます。
  • 丸めモード。
  • 例外のスティッキーフラグ。
  • 各例外がマスクされるかどうか。
  • インストールされているハンドラがある場合は、そのハンドラの種類。
fexcept_t 型は、一連の例外に関するすべての情報を保持するように定義されています。
関連する概念
3.8 ARM 浮動小数点環境の制御
3.12 例外フラグの処理
3.13 丸めモードの処理の関数
3.14 浮動小数点環境全体を保存および復元するための関数
3.15 例外を一時的に無効化する関数
3.17 ユーザ定義の例外トラップハンドラの記述
3.18 ユーザ定義の例外ハンドラの例
3.19 シグナルによる例外トラップ処理
3.29 IEEE 754 浮動小数点演算で発生する例外
関連する参考文書
3.11 C99 丸めモードおよび浮動小数点例外マクロ
3.16 C99 インタフェースの ARM 浮動小数点コンパイラ拡張
関連情報
--fpmode=model コンパイラオプション
非機密扱いPDF file icon PDF 版ARM DUI0475KJ
Copyright © 2010-2014 ARM.All rights reserved.