Что означает код ошибки Windows 1770 (RPC_S_FP_UNDERFLOW)?

 
Предыдущий Следующий
RPC_S_FP_DIV_ZERO RPC_S_FP_OVERFLOW

RPC_S_FP_UNDERFLOW

Вычисление сервера дало величину ниже поддерживаемого диапазона

RPC_S_FP_UNDERFLOW является арифметическим исключением сервера, наблюдаемым через RPC. Вычисление в процедуре диспетчера дало результат, слишком малый для активного режима плавающей точки, и вызвало исключение. Уровень NDR может передавать float и double; он не определяет числовой допуск сервера или политику исключений.

Проверьте стек сервера, масштаб входных данных, нормализацию и управляющее слово плавающей точки. Определите, допустимо ли постепенное потеря точности при слишком малых значениях или алгоритм должен масштабировать значения до вычисления. Если входные данные поступают удалённо, применяйте реалистичные минимальные величины и единицы на границе приложения, а не полагайтесь на платформенно-зависимые маски исключений.

Что проверить

  • Запишите точные числовые входные значения и единицы, дошедшие до сервера.
  • Сравните оптимизированную и отладочную сборки на различия среды плавающей точки.
  • Добавьте проверку диапазона или устойчивое масштабирование там, где ожидаются очень малые значения.

Ссылки


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