Результатом операции с плавающей точкой является NaN для операндов, отличных от NaN
Эта проверка определяет, является ли результат операции с плавающей точкой NaN. Проверка выполняется только в том случае, если включен режим верификации, включающий NaNs, и указано, что проверка должна подсвечивать операции, которые приводят к NaN.
Если вы указываете, что верификация должна выдать предупреждение для NaN, проверка будет:
Красный, если операция создает NaN на всех путях выполнения, которые рассматривает программное обеспечение, и операнды не являются NaN.
Orange, если операция создает NaN на некоторых путях выполнения, когда операнды не NaN.
Зеленый, если операция не производит NaN, если операнды не являются NaN.
Если вы задаете, что верификация должна запретить NaN, цвет проверки зависит только от результата операции. Цвет не зависит от операндов.
Проверка также подсвечивает преобразования из переменных с плавающей точкой в целые числа, где переменная с плавающей точкой может быть NaN. В этом случае проверка всегда выполняется, когда вы включаете NaNs в верификацию и не разрешаете NaNs в качестве входа в преобразование.
Чтобы включить этот режим верификации, используйте следующие опции:
NaNs (-check-nan)
: Использовать аргумент warn-first
или forbid
.
Группа: Численный |
Язык: C | C++ |
Акроним: INVALID_FLOAT_OP |