__setfpucw(3) устанавливает слово управления 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