Спонсоры сайта:

Наличие этой страницы в поиске?

Информеры ТИЦ и PR

  Yandex ТИЦ:  
   Google PR:  

Путешественникам, меломанам, бизнесменам, вебмастерам, новости.

Содержание | <<< | >>>

Библиотека поддержки среды вычислений с плавающей точкой





В версии С99 заголовком <fenv.h> объявляются функции, которые имеют доступ к среде вычислений с плавающей точкой. Эти функции описаны в табл. 20.2. Заголовок <fenv.h> также определяет типы fenv_t и fexcept_t, которые представляют конфигурацию вычислителя, реализующего среду вычислений с плавающей точкой и флаги состояния этого вычислителя соответственно. Макрос FE_DFL_ENV задает указатель на действующую по умолчанию конфигурацию вычислителя, реализующего среду вычислений с плавающей точкой, определенную при запуске программы.

Определены также следующие макросы исключений, возникающих при работе с числами с плавающей точкой:

FE_DIVBYZERO   FE_INEXACT     FE_INVALID
FE_OVERFLOW    FE_UNDERFLOW   FE_ALL_EXCEPT

Все комбинации этих макросов, полученные с помощью операции ИЛИ, можно сохранять в объекте типа int.

Определены также следующие макросы, используемые для указания направления округления значений:

FE_DOWNWARD   FE_TONEAREST   FE_TOWARDZERO   FE_UPWARD

Для проверки флагов вычислителя, реализующего среду вычислений с плавающей точкой, необходимо установить специальную директиву (прагму) для компилятора FENV_ACCESS в положение "включено". Разрешен ли доступ к этим флагам по умолчанию, зависит от конкретной реализации.

Таблица 20.2. Функции вычислителя, реализующего среду вычислений с плавающей точкой
ФункцияНазначение
void feclearexcept(
  int ex);
Сбрасывает исключения, заданные параметром ex
void fegetexceptflag(
  fexcept_t *fptr,
  int ex);
В переменной, адресуемой указателем fptr, сохраняет состояние флагов исключений вычислителя, реализующего среду вычислений с плавающей точкой, заданных параметром ex
void feraiseexcept(
  int ex);
Возбуждает исключения, заданные параметром ex
void fesetexceptflag(
  fexcept_t *fptr,
  int ex);
Устанавливает флаги состояния вычислителя, реализующего среду вычислений с плавающей точкой, заданные параметром ex, в состояние флагов, содержащихся в объекте, адресуемом параметром fptr
int fetestexcept(
  int ex);
Выполняет операцию поразрядного ИЛИ над флагами заданными параметром ex, и текущими флагами вычислителя, реализующего среду вычислений с плавающей точкой. Возвращает результат этой операции
int fegetround(
  void);
Возвращает значение действующего направления округления
int fesetround(
  int direction);
Устанавливает значение текущего направления округления с помощью параметра direction. При успешном выполнении возвращается нуль
void fegetenv(
  fenv_t *envptr);
В объект, адресуемый параметром envptr, записывается конфигурация вычислителя, реализующего среду вычислений с плавающей точкой
int feholdexcept(
  fenv_t *envptr);
Устанавливает безостановочную обработку исключения, возникшего при выполнении вычислений с плавающей точкой. Сохраняет конфигурацию вычислителя, реализующего среду вычислений с плавающей точкой, в переменной, адресуемой параметром envptr, и сбрасывает флаги состояния. При успешном выполнении возвращает нуль
void fesetenv(
  fenv_t *envptr);
Устанавливает конфигурацию вычислителя, реализующего среду вычислений с плавающей точкой, равной значению переменной, адресуемой параметром envptr, но исключения с плавающей точкой при этом не возбуждаются. Объект, адресуемый параметром envptr, должен быть получен в результате вызова функции fegetenv() или функции feholdexcept()
void feupdateenv(
  fenv_t *envptr);
Устанавливает конфигурацию вычислителя, реализующего среду вычислений с плавающей точкой, равной значению переменной, адресуемой параметром envptr. Сначала сохраняет любые текущие исключения, а затем, после установки конфигурации вычислителя в соответствии со значением переменной, адресуемой параметром envptr, возбуждает эти исключения. Объект, адресуемый параметром envptr, должен быть получен путем вызова функции fegetenv() или функции feholdexcept()

Содержание | <<< | >>>

C++ исходники. Все примеры - рабочие:

часы:

Dev C++ WinAPI Стрелочные часы Analog Clock

Dev C++ WinAPI Цифровые прозрачные часы. Текст на рабочем столе. Digital transparent clock. Text on desktop

Dev C++ OLE WinApi CALENDAR and DIGITAL CLOCK (15kb). Календарь и цифровые часы

Dev C++ OLE WinAPI Календарь и цифровые часы почти Vista SideBar всего 21kb

плееры:

Microsoft Visual C++ 2008 Direct Show DVD Mini Player 10.5kb

Dev C++ WinAPI Микро медиа плеер 3.5kb

Dev C++ WinAPI Мини медиа плеер 4.5kb

Dev C++ WinAPI Hint Всплывающая подсказка

Dev C++ WinAPI RECT - имитатор кнопки

Dev C++ WinAPI Заполнить ListBox

Dev C++ WinAPI Заполнить, редактировать, сохранить, загрузить ListBox (PlayList)

Dev C++ WinAPI Индикатор уровня

Dev C++ WinAPI MP3 Микро плеер Открыть с помощью...

Dev C++ WinAPI Своя кнопка

изображения:

Dev C++ GDI+ WinAPI Mini FotoResizer (16kb), изменяет размеры всех фото (JPG) до указанного размера в выбраной папке и её подпапках

Dev C++ WinAPI Сохранить BITMAP экрана, десктопа, окна, клиентской области.

Dev C++ WinAPI Изменить размер изображения BMP RESIZE. Загрузка изображений из ФАЙЛА, вывод на экран и сохранение в файл.

Dev C++ WinAPI Загрузка изображений из РЕСУРСОВ и вывод на экран.

Dev C++ GDI+ WinAPI. Преобразовать изображения из одного формата в другой (JPG в BMP, GIF, PNG и обратно ), используя дополнительные библиотеки GDI+. Загрузка изображений из файла и сохранение в файл.

Dev C++ GDI+ WinAPI масштабирование JPG RESIZE

Dev C++ OLE WinAPI. Преобразовать изображения из JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из РЕСУРСОВ и сохранение в файл.

Dev C++ OLE WinAPI преобразовать JPG в BMP, используя дополнительные библиотеки OLE. Загрузка изображений из ФАЙЛА и сохранение в файл.

Dev C++ OLE WinAPI масштабирование BMP RESIZE

разное:

Dev C++ WinAPI Dev C++ Преобразовать цвет точки экрана в HTML код

Dev C++ WinAPI NOTIFYICONDATA WS_EX_TOOLWINDOW Иконка в области уведомлений (notification area, tray, трей). Удалить с панели задач (taskbar).

Dev C++ WinAPI ShellExecute Создать ссылку на WEB сайт

Dev C++ WinAPI ShellExecute Создать окно со ссылкой на WEB сайт

Dev C++ WinAPI CreateProcess ShellExecute WinExec Запуск приложения из приложения

Dev C++ OLE WinAPI Создать регион Regions PopUp Меню Menu

Dev C++ FindFiles. Поиск файлов заданного типа (в примере *.JPG) в папке и её подпапках

библиотеки:

Скачать библиотеку GDI+ для Dev C++

Скачать справочнник с примерами языка C.