Вопрос

Это часто возвращает NAN («не число») в зависимости от входа:

#define PI 3.1415f

GLfloat sineEaseIn(GLfloat ratio) {
 return 1.0f-cosf(ratio * (PI / 2.0f));
}

Я пытался сделать PI несколько цифр, чтобы увидеть, если бы это поможет. Нет кости. Тогда я думал, что это может быть несоответствием данных типа данных, но плавать и Glfloat. кажется, эквивалентно:

гл.м.

typedef float           GLfloat;

математика

extern float  cosf( float );

Это проблема литья?

Это было полезно?

Решение

Я подозреваю, что одно из следующих действий:

  • Ваше входное значение для ratio не может быть то, что вы ожидаете, и ratio Сама возможно NaN
  • то cosf что вы звонили, не тот в math.h

В противном случае, похоже, нет ничего плохого в вашем выражении.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top