Site icon EfmSoft

Что означает статус Intel IPP 9 (ippStsNanArg)?

 
Также может означать:
КонстантаТипОС
ERROR_INVALID_BLOCKОшибка WindowsWindows
KERN_MEMORY_FAILUREКод возврата ядра macOSmacOS
EBADFerrnoЛюбая
IRQL_NOT_GREATER_OR_EQUALКод BSODWindows
Предыдущий Следующий
ippStsLnNegArg ippStsJPEGMarker

ippStsNanArg

ippStsNanArg означает, что один или несколько входных аргументов либо элементов массива уже содержат NaN. Некоторые IPP routines продолжают работу и распространяют NaN дальше, другие используют documented replacement rules, поэтому положительный статус нельзя считать безусловно корректным результатом.

NaN обычно появляется не в самой операции, которая его обнаружила. Источник стоит искать раньше: деление 0/0, sqrt отрицательного значения, некорректная нормализация, переполнение промежуточной формулы или неинициализированный floating-point buffer.

Что означает ippStsNanArg

ippStsNanArg сообщает, что во входном скалярном значении или массиве уже присутствует NaN. Сам IPP-вызов часто лишь обнаруживает проблему, возникшую на предыдущей стадии вычислений.

Как найти источник

Проверяйте входные vectors, images и coefficient arrays непосредственно перед вызовом. Затем переносите finite/NaN check назад по pipeline до первого места, где значение перестало быть конечным. Типичные источники — 0/0, недопустимый аргумент математической функции, неинициализированный floating-point buffer или ошибочная нормализация.

Что делать

Сверьте документированное поведение конкретного primitive при NaN и решите, допустим ли такой результат следующей стадии. Исправляйте первое место возникновения NaN; фильтрация только на выходе скрывает причину и оставляет зависимый от данных дефект.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version