Pregunta

Esto a menudo vuelve NAN ( "no es un número") dependiendo de la entrada:

#define PI 3.1415f

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

He intentado hacer PI algunos dígitos más pequeños para ver si eso ayuda. No dados. Entonces pensé que podría ser una falta de coincidencia de tipo de datos, pero flotador y GLfloat parecen ser equivalentes:

gl.h

typedef float           GLfloat;

math.h

extern float  cosf( float );

¿Es esta una cuestión de fundición?

¿Fue útil?

Solución

sospecho que una de las siguientes está en marcha:

  • su valor de entrada a ratio puede no ser lo que se espera que sea, y ratio sí es posiblemente NaN
  • cosf la que está llamando no es el que está en math.h

De lo contrario, no parece estar mal cualquier cosa con su expresión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top