__SETFPUCW(3)

名前
__setfpucw - i386 アーキテクチャーにおける FPU のコントロールワードの設定 (obsolete)

書式
#include <i386/fpu_control.h>

void __setfpucw(unsigned short control_word);

説明
__setfpucw() は、i386アーキテクチャーにおいて control_word を FPU (floating-point unit) のレジスターに転送する。 これは浮動小数点演算の精度、丸め方、 および浮動小数点例外を制御するのに使われる。

準拠
この関数は非標準で GNU 拡張である。

注意
glibc 2.1 以降では、この関数は存在しない。 新たな関数群が C99 から導入された。これらのプロトタイプは <fenv.h> に置かれている。 FPU の丸めモードの制御には fegetround(3), fesetround(3) などが、浮動小数点関連の環境には fegetenv(3), feholdexcept(3), fesetenv(3), feupdateenv(3) などが、 FPU 例外処理には feclearexcept(3), fegetexceptflag(3), feraiseexcept(3), fesetexceptflag(3), fetestexcept(3) などが導入された。

FPU のコントロールワードへどうしても直接アクセスする必要がある場合には、 <fpu_control.h> の _FPU_GETCW マクロと _FPU_SETCW マクロを用いることは可能である。

例
__setfpucw(0x1372) は、i386アーキテクチャーにおける FPU のコントロールワードを、
     - 拡張精度
     - 最も近い整数へ丸める、中間の場合は偶数を選択する。
     - 桁溢れ、0で除算、及び無効値(NaN)ときに例外を発生に設定する。

関連項目
feclearexcept(3)
<fpu_control.h>

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。