Я пишу 3D-игру с использованием OpenGL в D, и у меня возникают проблемы с плавающими точками. Когда я делю нуль с другим значением float (ноль), он всегда будет NaN, а не 0. Это вызывает проблемы, которые NaN будет распространять по всему коду, все остальное, которое делится/умножается на него, также становится NaN. Я действительно не хочу обертывать все мои подразделения с помощью проверки if value != 0.0f
.Предотвращение NaN при делении нуля со значением
Простая проверка как float value = getCurrentSpeed()/getMaxSpeed()
вернет NaN, если getCurrentSpeed()
return 0.0f.
кажется, что проблема происхождения находится во внешнем библиотеке, где длина вектора вычисляется в NaN, когда он должен быть равен нулю. – Freddroid