Scroll to navigation

__SETFPUCW(3) Руководство программиста Linux __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, fesetround, окружением при работе с плавающей точкой: fegetenv, feholdexcept, fesetenv, feupdateenv и для управления исключениями FPU: feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag, fetestexcept.

Если по какой-то причине необходим прямой доступ к слову управления FPU, то можно использовать макросы _FPU_GETCW и _FPU_SETCW из <fpu_control.h>.

ПРИМЕР

__setfpucw(0x1372)

Устанавливает слово управления FPU на архитектуре i386:
- включает расширенную точность
- включает округление к ближайшему
- включает исключение при переполнении, делении на ноль и NaN

СМОТРИТЕ ТАКЖЕ

feclearexcept(3)
<fpu_control.h>

1997-03-08 Linux