Что означает статус Intel IPP 8 (ippStsLnNegArg)?

 
Также может означать:
КонстантаТипОС
ERROR_NOT_ENOUGH_MEMORYОшибка WindowsWindows
KERN_NO_ACCESSКод возврата ядра macOSmacOS
ENOEXECerrnoЛюбая
IRQL_NOT_DISPATCH_LEVELКод BSODWindows
Предыдущий Следующий
ippStsLnZeroArg ippStsNanArg

ippStsLnNegArg

ippStsLnNegArg означает, что вещественная функция logarithm получила отрицательные элементы. Для real-valued log такие значения находятся вне области определения; IPP может продолжить обработку по documented special-case rules, но возвращает предупреждение, потому что обычный конечный результат для этих элементов невозможен.

Чаще всего отрицательные значения возникают раньше: после фильтрации с отрицательными коэффициентами, вычитания baseline, ошибочной нормализации magnitude/power или передачи signed data туда, где ожидалась неотрицательная величина. Проверять нужно именно producer входного массива.

Проверьте источник отрицательных значений

  • Какие элементы стали отрицательными и на каком предыдущем этапе это произошло.
  • Не должен ли алгоритм использовать absolute value, magnitude squared или complex-valued обработку вместо real logarithm.
  • Какой специальный результат документирован для используемого типа данных и принимает ли его следующий этап.

После исправления полезно оставить граничный тест с отрицательным значением, чтобы вызывающий код не начал молча принимать NaN или иной special-case output.

Ссылки


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