MATH_ERRNO, MATH_ERREXCEPT, math_errhandling
Материал из cppreference.com
![]() | Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
Определено в заголовочном файле <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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Значение
math_errhandling
указывает тип обработки ошибок, который выполняется с плавающей точкой, операторы и функцииОригинал:
The value of
math_errhandling
indicates the type of error handling that is performed by the floating-point operators and functions:Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Constant Оригинал: Constant Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | 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. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
MATH_ERRNO | указывает, что операции с плавающей запятой использовать переменную errno сообщать об ошибках . Оригинал: indicates that floating-point operations use the variable errno to report errors. Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Следующие плавающей точкой условия ошибки признаются:
Оригинал:
The following floating-point error conditions are recognized:
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Этот раздел не завершён Причина: 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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
# Диапазон ошибки (математический результат не может быть представлен как объект определенного типа, например, 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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
# 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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
# 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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править]Пример
Этот раздел не завершён Причина: нет примера |
[править]См. также
исключения вещественной арифметики (макроконстанта) | |
макрос, который расширяется до переменной номера локальной ошибки потока, совместимой с POSIX (macro variable) |