Что означает статус Intel IPP -36 (ippStsEpsValErr)?

 
Предыдущий Следующий
ippStsStrideErr ippStsWtOffsetErr

ippStsEpsValErr

ippStsEpsValErr означает, что routine получила недопустимое значение epsilon. Обычно epsilon задаёт неотрицательный tolerance, convergence threshold или comparison slack; отрицательное число не определяет корректную ширину допуска и поэтому отклоняется до основного вычисления.

Частая причина — конфигурационный sentinel вроде -1 для режима «auto», хотя конкретный IPP API такого соглашения не поддерживает. Ошибка также появляется при неверном знаке после преобразования единиц или при чтении неинициализированного параметра.

Проверьте epsilon перед вызовом

  • Значение после parsing конфигурации и применения default settings.
  • Ожидает ли routine absolute, relative или squared tolerance.
  • Не используется ли отрицательный sentinel, который нужно преобразовать в документированное значение до вызова IPP.

Валидацию epsilon лучше выполнять на границе конфигурации и повторно перед primitive, чтобы invalid setting не превращался в data-dependent numerical failure.

Ссылки


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