Frage

Diese oft gibt NAN ( "Not A Number") in Abhängigkeit vom Eingang:

#define PI 3.1415f

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

Ich habe versucht, PI machen ein paar Ziffern kleiner, um zu sehen, ob das helfen würde. Kein Würfel. Dann dachte ich, es könnte eine Datentypkonflikt, aber float und GLfloat zu sein scheint äquivalent:

gl.h

typedef float           GLfloat;

math.h

extern float  cosf( float );

Ist das ein Casting Problem?

War es hilfreich?

Lösung

Ich vermute, dass eine der folgenden ist zu Fuß:

  • Ihr Eingangswert ratio kann nicht sein, was Sie erwarten, dass es sein, und ratio selbst ist möglicherweise NaN
  • die cosf, dass Sie anrufen ist nicht derjenige in math.h

Ansonsten gibt scheint nichts falsch mit Ihrem Ausdruck zu sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top