__SETFPUCW(3)

ИМЯ
__setfpucw - устанавливает слово управления FPU для архитектуры i386 (устарела)

ОБЗОР
#include <i386/fpu_control.h>

void __setfpucw(unsigned short control_word);

ОПИСАНИЕ
В архитектуре i386 функция __setfpucw() пересылает control_word в регистр FPU (модуль обработки операций с плавающей точкой). Используется для управления точностью, округлением и исключениями при операциях с плавающей точкой.

СООТВЕТСТВИЕ СТАНДАРТАМ
Эта функция является нестандартным расширением GNU.

ЗАМЕЧАНИЯ
Начиная с glibc 2.1 эта функция не существует. Для управления режимами округления FPU в ISO C99 введены новые функции (прототипы объявлены в <fenv.h>): 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_GETCW и _FPU_SETCW из <fpu_control.h>.

ПРИМЕР
__setfpucw(0x1372) Устанавливает слово управления FPU на архитектуре i386:
     - включает расширенную точность
     - включает округление к ближайшему
     - включает исключение при переполнении, делении на ноль и NaN

СМОТРИТЕ ТАКЖЕ
feclearexcept(3)
<fpu_control.h>