MATH_ERRNO, MATH_ERREXCEPT, math_errhandling
Материал из cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Определено в заголовочном файле <cmath>
|
||
#define MATH_ERRNO 1 |
(начиная с C++11) | |
#define MATH_ERREXCEPT 2 |
(начиная с C++11) | |
#define math_errhandling /*implementation defined*/ |
(начиная с C++11) | |
Макрос постоянной
math_errhandling
расширяется до выражения типа int, что либо равна MATH_ERRNO
, или равны MATH_ERREXCEPT
или равна их побитовое OR (MATH_ERRNO | MATH_ERREXCEPT).Оригинал:
The macro constant
math_errhandling
expands to an expression of type int that is either equal to MATH_ERRNO
, or equal to MATH_ERREXCEPT
, or equal to their bitwise OR (MATH_ERRNO | MATH_ERREXCEPT).Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Значение
math_errhandling
указывает тип обработки ошибок, который выполняется с плавающей точкой, операторы и функцииОригинал:
The value of
math_errhandling
indicates the type of error handling that is performed by the floating-point operators and functions:Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Constant
Оригинал: Constant Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
Explanation |
MATH_ERREXCEPT
|
показывает, что с плавающей точкой исключений используются: по крайней мере FE_DIVBYZERO, FE_INVALID, и FE_OVERFLOW определены в <cfenv> .
Оригинал: indicates that floating-point exceptions are used: at least FE_DIVBYZERO, FE_INVALID, and FE_OVERFLOW are defined in <cfenv>. Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
MATH_ERRNO
|
указывает, что операции с плавающей запятой использовать переменную errno сообщать об ошибках .
Оригинал: indicates that floating-point operations use the variable errno to report errors. Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
Следующие плавающей точкой условия ошибки признаются:
Оригинал:
The following floating-point error conditions are recognized:
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Этот раздел не завершён Причина: needs to be a table |
# Домен ошибки (входной аргумент выходит за пределы диапазона, в котором операция математически определить, например, std::sqrt(-1), std::log(-1), или std::acos(2)). Если
MATH_ERRNO
бит установлен, EDOM назначен errno. Если MATH_ERREXCEPT бит установлен, FE_INVALID поднимается.Оригинал:
# Domain error (input argument is outside the range in which the operation is mathematically defined, e.g. std::sqrt(-1), std::log(-1), or std::acos(2)). If
MATH_ERRNO
bit is set, EDOM is assigned to errno. If MATH_ERREXCEPT bit is set, FE_INVALID is raised.Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
# Диапазон ошибки (математический результат не может быть представлен как объект определенного типа, например, std::atanh(-1), std::log(0.0), или std::lgamma(0.0)). Если MATH_ERRNO бит установлен, ERANGE назначен errno. Если MATH_ERREXCEPT бит установлен, FE_DIVBYZERO или FE_OVERFLOW поднимается.
Оригинал:
# Range error (the mathematical result cannot be represented as the object of specified type, e.g. std::atanh(-1), std::log(0.0), or std::lgamma(0.0)). If MATH_ERRNO bit is set, ERANGE is assigned to errno. If MATH_ERREXCEPT bit is set, FE_DIVBYZERO or FE_OVERFLOW is raised.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
# Overflow (математический результат конечно, но слишком большой, чтобы быть представлена без крайней ошибки округления, например, такие функции, как std::exp с достаточно большими аргументами). Если MATH_ERRNO бит установлен, ERANGE назначен errno. Если MATH_ERREXCEPT бит установлен, FE_OVERFLOW поднимается.
Оригинал:
# Overflow (the mathematical result is finite, but too big to be represented without extreme roundoff error, e.g. functions such as std::exp with sufficiently large arguments). If MATH_ERRNO bit is set, ERANGE is assigned to errno. If MATH_ERREXCEPT bit is set, FE_OVERFLOW is raised.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
# Underflow (математический результат не равен нулю, но слишком мал, чтобы быть представлена без крайней ошибки округления, например, в результате субнормальных, как и в std::sin(subnormal) и для многих других функций с субнормальными аргументы). Если MATH_ERRNO бит установлен, ERANGE могут быть отнесены к errno. Если MATH_ERREXCEPT бит установлен, FE_UNDERFLOW может быть поднят.
Оригинал:
# Underflow (the mathematical result is non-zero, but too small to be represented without extreme roundoff error, e.g. the result is subnormal, as in std::sin(subnormal) or for many other functions with subnormal arguments). If MATH_ERRNO bit is set, ERANGE may be assigned to errno. If MATH_ERREXCEPT bit is set, FE_UNDERFLOW may be raised.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
[править] Пример
Этот раздел не завершён Причина: нет примера |
[править] См. также
плавающей точкой исключений Оригинал: floating-point exceptions Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (константа-макрос) | |
макрос, который расширяется в POSIX-совместимых потоков местного variable
(макропеременной) номер ошибки Оригинал: macro which expands to POSIX-compatible thread-local error number variable (макропеременной) Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |