سؤال

غالبًا ما يعيد هذا NAN ("ليس رقمًا") اعتمادًا على الإدخال:

#define PI 3.1415f

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

حاولت جعل Pi بضعة أرقام أصغر لمعرفة ما إذا كان ذلك سيساعد. لا النرد. ثم اعتقدت أنه قد يكون عدم تطابق نوع البيانات ، ولكن يطفو و glfloat يبدو أنه مكافئ:

GL.H

typedef float           GLfloat;

الرياضيات

extern float  cosf( float );

هل هذه قضية صب؟

هل كانت مفيدة؟

المحلول

أظن أن أحد ما يلي هو على قدم وساق:

  • قيمة الإدخال الخاصة بك إلى ratio قد لا يكون ما تتوقعه ، و ratio نفسها ربما NaN
  • ال cosf أن التي تتصل بها ليست واحدة في math.h

خلاف ذلك ، لا يبدو أن هناك أي شيء خاطئ في تعبيرك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top