Spec-Zone.ru › Nim 1

fenv

Плавающая точка среды. Обработка округления и исключений с плавающей запятой (переполнение, деление на ноль и т. д.).

Типы

Tfenv {...}{.importc: "fenv_t", header: "<fenv.h>", final, pure.} = object
Представляет всю среду с плавающей запятой. Среда с плавающей запятой обобщённо относится к любым флагам состояния с плавающей запятой и режимам управления, поддерживаемым реализацией. Исходный код Изменить
Tfexcept {...}{.importc: "fexcept_t", header: "<fenv.h>", final, pure.} = object
Представляет флаги состояния с плавающей запятой коллективно, включая любые состояния, которые реализация связывает с флагами. Флаг состояния с плавающей запятой — это системная переменная, значение которой устанавливается (но никогда не очищается), когда возникает исключение с плавающей запятой, которое происходит как побочный эффект исключительной арифметики с плавающей запятой для предоставления дополнительной информации. Режим управления с плавающей запятой — это системная переменная, значение которой может быть установлено пользователем для влияния на последующее поведение арифметики с плавающей запятой. Исходный код Изменить

Переменные

FE_DIVBYZERO: cint
деление на ноль Исходный код Изменить
FE_INEXACT: cint
неточная операция Исходный код Изменить
FE_INVALID: cint
недопустимая операция Исходный код Изменить
FE_OVERFLOW: cint
результат не представим из-за переполнения Исходный код Изменить
FE_UNDERFLOW: cint
результат не представим из-за подпорогового значения Исходный код Изменить
FE_ALL_EXCEPT: cint
побитовое ИЛИ всех поддерживаемых исключений Исходный код Изменить
FE_DOWNWARD: cint
округление к -бесконечности Исходный код Изменить
FE_TONEAREST: cint
округление к ближайшему значению Исходный код Изменить
FE_TOWARDZERO: cint
округление к 0 Исходный код Изменить
FE_UPWARD: cint
округление к +бесконечности Исходный код Изменить
FE_DFL_ENV: cint
макрос типа указатель на fenv_t для использования в качестве аргумента функциям, принимающим аргумент типа fenv_t; в этом случае будет использоваться стандартная среда Исходный код Изменить

Процедуры

proc feclearexcept(excepts: cint): cint {...}{.importc, header: "<fenv.h>".}
Очистить поддерживаемые исключения, представленные excepts. Исходный код Изменить
proc fegetexceptflag(flagp: ptr Tfexcept; excepts: cint): cint {...}{.importc,
    header: "<fenv.h>".}
Сохранить определённую реализацией запись флагов исключения, указанных excepts, в объект, на который указывает flagp. Исходный код Изменить
proc feraiseexcept(excepts: cint): cint {...}{.importc, header: "<fenv.h>".}
Вызвать поддерживаемые исключения, представленные excepts. Исходный код Изменить
proc fesetexceptflag(flagp: ptr Tfexcept; excepts: cint): cint {...}{.importc,
    header: "<fenv.h>".}
Установить полное состояние для исключений, указанных excepts, в соответствии с представлением в объекте, на который указывает flagp. Исходный код Изменить
proc fetestexcept(excepts: cint): cint {...}{.importc, header: "<fenv.h>".}
Определить, какие из подмножества исключений, указанных excepts, в данный момент установлены. Исходный код Изменить
proc fegetround(): cint {...}{.importc, header: "<fenv.h>".}
Получить текущее направление округления. Исходный код Изменить
proc fesetround(roundingDirection: cint): cint {...}{.importc, header: "<fenv.h>".}
Установить направление округления, представленное roundingDirection. Исходный код Изменить
proc fegetenv(envp: ptr Tfenv): cint {...}{.importc, header: "<fenv.h>".}
Сохранить текущую среду с плавающей запятой в объект, на который указывает envp. Исходный код Изменить
proc feholdexcept(envp: ptr Tfenv): cint {...}{.importc, header: "<fenv.h>".}
Сохранить текущую среду в объект, на который указывает envp, очистить флаги исключений и установить режим непрерывной работы (если доступен) для всех исключений. Исходный код Изменить
proc fesetenv(a1: ptr Tfenv): cint {...}{.importc, header: "<fenv.h>".}
Установить среду с плавающей запятой, представленную объектом, на который указывает envp. Исходный код Изменить
proc feupdateenv(envp: ptr Tfenv): cint {...}{.importc, header: "<fenv.h>".}
Сохранить текущие исключения в временном хранилище, установить среду, представленную объектом, на который указывает envp, и вызвать исключения в соответствии с сохранёнными исключениями. Исходный код Изменить

Шаблоны

template fpRadix(): int
Значение (целое) основания, используемого для представления любого типа с плавающей точкой на архитектуре, используемой для построения программы. Исходный код Изменить
template mantissaDigits(T: typedesc[float32]): int
Количество цифр (в системе счисления floatingPointRadix) в мантиссе 32-битных чисел с плавающей точкой. Исходный код Изменить
template digits(T: typedesc[float32]): int
Количество десятичных цифр, которые могут быть представлены в 32-битном типе с плавающей точкой без потери точности. Исходный код Изменить
template minExponent(T: typedesc[float32]): int
Минимальный (отрицательный) показатель степени для 32-битных чисел с плавающей точкой. Исходный код Изменить
template maxExponent(T: typedesc[float32]): int
Максимальный (положительный) показатель степени для 32-битных чисел с плавающей точкой. Исходный код Изменить
template min10Exponent(T: typedesc[float32]): int
Минимальный (отрицательный) показатель степени в десятичной системе счисления для 32-битных чисел с плавающей точкой. Исходный код Изменить
template max10Exponent(T: typedesc[float32]): int
Максимальный (положительный) показатель степени в десятичной системе счисления для 32-битных чисел с плавающей точкой. Исходный код Изменить
template minimumPositiveValue(T: typedesc[float32]): float32
Наименьшее положительное (ненулевое) число, которое может быть представлено в 32-битном типе с плавающей точкой. Исходный код Изменить
template maximumPositiveValue(T: typedesc[float32]): float32
Наибольшее положительное число, которое может быть представлено в 32-битном типе с плавающей точкой. Исходный код Изменить
template epsilon(T: typedesc[float32]): float32
Разница между 1.0 и наименьшим числом, большим 1.0, которое может быть представлено в 32-битном типе с плавающей точкой. Исходный код Изменить
template mantissaDigits(T: typedesc[float64]): int
Количество цифр (в системе счисления floatingPointRadix) в мантиссе 64-битных чисел с плавающей точкой. Исходный код Изменить
template digits(T: typedesc[float64]): int
Количество десятичных цифр, которые могут быть представлены в 64-битном типе с плавающей точкой без потери точности. Исходный код Изменить
template minExponent(T: typedesc[float64]): int
Минимальный (отрицательный) показатель степени для 64-битных чисел с плавающей точкой. Исходный код Изменить
template maxExponent(T: typedesc[float64]): int
Максимальный (положительный) показатель степени для 64-битных чисел с плавающей точкой. Исходный код Изменить
template min10Exponent(T: typedesc[float64]): int
Минимальный (отрицательный) показатель степени в десятичной системе счисления для 64-битных чисел с плавающей точкой. Исходный код Изменить
template max10Exponent(T: typedesc[float64]): int
Максимальный (положительный) показатель степени в десятичной системе счисления для 64-битных чисел с плавающей точкой. Исходный код Изменить
template minimumPositiveValue(T: typedesc[float64]): float64
Наименьшее положительное (ненулевое) число, которое может быть представлено в 64-битном типе с плавающей точкой. Исходный код Изменить
template maximumPositiveValue(T: typedesc[float64]): float64
Наибольшее положительное число, которое может быть представлено в 64-битном типе с плавающей точкой. Исходный код Изменить
template epsilon(T: typedesc[float64]): float64
Разница между 1.0 и наименьшим числом, большим 1.0, которое может быть представлено в 64-битном типе с плавающей точкой. Исходный код Изменить

© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/fenv.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API