22 #if defined(__clang_analyzer__) && !defined(SDL_DISABLE_ANALYZE_MACROS) 23 #define SDL_DISABLE_ANALYZE_MACROS 1 26 #include "../SDL_internal.h" 31 #include "../libm/math_libm.h" 37 #if defined(HAVE_ATAN) 47 #if defined(HAVE_ATANF) 57 #if defined(HAVE_ATAN2) 67 #if defined(HAVE_ATAN2F) 70 return (
float)
SDL_atan2((
double)x, (
double)y);
77 #if defined(HAVE_ACOS) 97 #if defined(HAVE_ACOSF) 100 return (
float)
SDL_acos((
double)val);
107 #if defined(HAVE_ASIN) 112 result = -(M_PI / 2.0);
114 result = (M_PI / 2.0) -
SDL_acos(val);
123 #if defined(HAVE_ASINF) 126 return (
float)
SDL_asin((
double)val);
133 #if defined(HAVE_CEIL) 137 double fraction = x - integer;
138 if (fraction > 0.0) {
148 #if defined(HAVE_CEILF) 158 #if defined(HAVE_COPYSIGN) 160 #elif defined(HAVE__COPYSIGN) 161 return _copysign(x, y);
162 #elif defined(__WATCOMC__) && defined(__386__) 164 unsigned int *xi = (
unsigned int *) &x,
165 *yi = (
unsigned int *) &
y;
166 xi[1] = (yi[1] & 0x80000000) | (xi[1] & 0x7fffffff);
176 #if defined(HAVE_COPYSIGNF) 177 return copysignf(x, y);
186 #if defined(HAVE_COS) 196 #if defined(HAVE_COSF) 199 return (
float)
SDL_cos((
double)x);
206 #if defined(HAVE_EXP) 216 #if defined(HAVE_EXPF) 219 return (
float)
SDL_exp((
double)x);
226 #if defined(HAVE_FABS) 236 #if defined(HAVE_FABSF) 246 #if defined(HAVE_FLOOR) 256 #if defined(HAVE_FLOORF) 266 #if defined(HAVE_FMOD) 276 #if defined(HAVE_FMODF) 279 return (
float)
SDL_fmod((
double)x, (
double)y);
286 #if defined(HAVE_LOG) 296 #if defined(HAVE_LOGF) 299 return (
float)
SDL_log((
double)x);
306 #if defined(HAVE_LOG10) 316 #if defined(HAVE_LOG10F) 326 #if defined(HAVE_POW) 336 #if defined(HAVE_POWF) 339 return (
float)
SDL_pow((
double)x, (
double)y);
346 #if defined(HAVE_SCALBN) 348 #elif defined(HAVE__SCALB) 350 #elif defined(HAVE_LIBC) && defined(HAVE_FLOAT_H) && (FLT_RADIX == 2) 362 #if defined(HAVE_SCALBNF) 363 return scalbnf(x, n);
372 #if defined(HAVE_SIN) 382 #if defined(HAVE_SINF) 385 return (
float)
SDL_sin((
double)x);
392 #if defined(HAVE_SQRT) 402 #if defined(HAVE_SQRTF) 412 #if defined(HAVE_TAN) 422 #if defined(HAVE_TANF) 425 return (
float)
SDL_tan((
double)x);
431 #if defined(HAVE_ABS) 434 return ((x) < 0 ? -(x) : (x));
438 #if defined(HAVE_CTYPE_H) 445 int SDL_isspace(
int x) {
return ((x) ==
' ') || ((
x) ==
'\t') || ((
x) ==
'\r') || ((
x) ==
'\n') || ((
x) ==
'\f') || ((
x) ==
'\v'); }
446 int SDL_toupper(
int x) {
return ((x) >=
'a') && ((
x) <=
'z') ? (
'A'+((
x)-
'a')) : (x); }
447 int SDL_tolower(
int x) {
return ((x) >=
'A') && ((
x) <=
'Z') ? (
'a'+((
x)-
'A')) : (x); }
454 #if defined(_MSC_VER) 458 __declspec(selectany)
int _fltused = 1;
462 #if (_MSC_VER >= 1400) && defined(_WIN64) && !defined(_DEBUG) && !(_MSC_VER >= 1900 && defined(_MT)) 465 #pragma function(memcpy) 475 for (i = num / 64; i--;) {
476 _mm_prefetch(src, _MM_HINT_NTA);
477 values[0] = *(__m128 *) (src + 0);
478 values[1] = *(__m128 *) (src + 16);
479 values[2] = *(__m128 *) (src + 32);
480 values[3] = *(__m128 *) (src + 48);
481 _mm_stream_ps((
float *) (dst + 0), values[0]);
482 _mm_stream_ps((
float *) (dst + 16), values[1]);
483 _mm_stream_ps((
float *) (dst + 32), values[2]);
484 _mm_stream_ps((
float *) (dst + 48), values[3]);
512 fst dword ptr [esp+18
h]
513 fistp qword ptr [esp+10
h]
514 fild qword ptr [esp+10
h]
515 mov edx,dword ptr [esp+18
h]
516 mov eax,dword ptr [esp+10
h]
518 je integer_QnaN_or_zero
519 arg_is_not_integer_QnaN:
524 mov ecx,dword ptr [esp]
528 mov edx,dword ptr [esp+14
h]
533 mov ecx,dword ptr [esp]
536 mov edx,dword ptr [esp+14
h]
539 integer_QnaN_or_zero:
540 mov edx,dword ptr [esp+14
h]
542 jne arg_is_not_integer_QnaN
543 fstp dword ptr [esp+18
h]
544 fstp dword ptr [esp+18
h]
565 mov eax, dword ptr[esp+8]
566 mov ecx, dword ptr[esp+10
h]
568 mov ecx, dword ptr[esp+0Ch]
570 mov eax, dword ptr[esp+4]
577 mov eax, dword ptr[esp+8]
578 mul dword ptr[esp+14
h]
580 mov eax, dword ptr[esp+8]
599 mov eax,dword ptr [esp+14
h]
603 mov edx,dword ptr [esp+10
h]
607 mov dword ptr [esp+14
h],eax
608 mov dword ptr [esp+10
h],edx
610 mov eax,dword ptr [esp+1Ch]
614 mov edx,dword ptr [esp+18
h]
618 mov dword ptr [esp+1Ch],eax
619 mov dword ptr [esp+18
h],edx
623 mov ecx,dword ptr [esp+18
h]
624 mov eax,dword ptr [esp+14
h]
628 mov eax,dword ptr [esp+10
h]
634 mov ecx,dword ptr [esp+18
h]
635 mov edx,dword ptr [esp+14
h]
636 mov eax,dword ptr [esp+10
h]
646 mul dword ptr [esp+1Ch]
648 mov eax,dword ptr [esp+18
h]
652 cmp edx,dword ptr [esp+14
h]
655 cmp eax,dword ptr [esp+10
h]
685 mov eax,dword ptr [esp+18
h]
688 mov ecx,dword ptr [esp+14
h]
689 mov eax,dword ptr [esp+10
h]
693 mov eax,dword ptr [esp+0Ch]
699 mov ebx,dword ptr [esp+14
h]
700 mov edx,dword ptr [esp+10
h]
701 mov eax,dword ptr [esp+0Ch]
711 mul dword ptr [esp+18
h]
713 mov eax,dword ptr [esp+14
h]
717 cmp edx,dword ptr [esp+10
h]
720 cmp eax,dword ptr [esp+0Ch]
744 mov eax,dword ptr [esp+10
h]
748 mov edx,dword ptr [esp+0Ch]
752 mov dword ptr [esp+10
h],eax
753 mov dword ptr [esp+0Ch],edx
755 mov eax,dword ptr [esp+18
h]
758 mov edx,dword ptr [esp+14
h]
762 mov dword ptr [esp+18
h],eax
763 mov dword ptr [esp+14
h],edx
767 mov ecx,dword ptr [esp+14
h]
768 mov eax,dword ptr [esp+10
h]
771 mov eax,dword ptr [esp+0Ch]
780 mov ecx,dword ptr [esp+14
h]
781 mov edx,dword ptr [esp+10
h]
782 mov eax,dword ptr [esp+0Ch]
792 mul dword ptr [esp+18
h]
794 mul dword ptr [esp+14
h]
797 cmp edx,dword ptr [esp+10
h]
800 cmp eax,dword ptr [esp+0Ch]
803 sub eax,dword ptr [esp+14
h]
804 sbb edx,dword ptr [esp+18
h]
806 sub eax,dword ptr [esp+0Ch]
807 sbb edx,dword ptr [esp+10
h]
829 mov eax,dword ptr [esp+14
h]
832 mov ecx,dword ptr [esp+10
h]
833 mov eax,dword ptr [esp+0Ch]
836 mov eax,dword ptr [esp+8]
843 mov ebx,dword ptr [esp+10
h]
844 mov edx,dword ptr [esp+0Ch]
845 mov eax,dword ptr [esp+8]
855 mul dword ptr [esp+14
h]
857 mul dword ptr [esp+10
h]
860 cmp edx,dword ptr [esp+0Ch]
863 cmp eax,dword ptr [esp+8]
866 sub eax,dword ptr [esp+10
h]
867 sbb edx,dword ptr [esp+14
h]
869 sub eax,dword ptr [esp+8]
870 sbb edx,dword ptr [esp+0Ch]
892 mov eax,dword ptr [esp+14
h]
897 mov edx,dword ptr [esp+10
h]
901 mov dword ptr [esp+14
h],eax
902 mov dword ptr [esp+10
h],edx
904 mov eax,dword ptr [esp+1Ch]
908 mov edx,dword ptr [esp+18
h]
912 mov dword ptr [esp+1Ch],eax
913 mov dword ptr [esp+18
h],edx
917 mov ecx,dword ptr [esp+18
h]
918 mov eax,dword ptr [esp+14
h]
922 mov eax,dword ptr [esp+10
h]
926 mul dword ptr [esp+18
h]
929 mul dword ptr [esp+18
h]
934 mov ecx,dword ptr [esp+18
h]
935 mov edx,dword ptr [esp+14
h]
936 mov eax,dword ptr [esp+10
h]
946 mul dword ptr [esp+1Ch]
948 mov eax,dword ptr [esp+18
h]
952 cmp edx,dword ptr [esp+14
h]
955 cmp eax,dword ptr [esp+10
h]
959 sub eax,dword ptr [esp+18
h]
960 sbb edx,dword ptr [esp+1Ch]
964 sub eax,dword ptr [esp+10
h]
965 sbb edx,dword ptr [esp+14
h]
998 mov eax,dword ptr [esp+14
h]
1001 mov ecx,dword ptr [esp+10
h]
1002 mov eax,dword ptr [esp+0Ch]
1006 mov eax,dword ptr [esp+8]
1010 mul dword ptr [esp+10
h]
1013 mul dword ptr [esp+10
h]
1018 mov ebx,dword ptr [esp+10
h]
1019 mov edx,dword ptr [esp+0Ch]
1020 mov eax,dword ptr [esp+8]
1030 mul dword ptr [esp+14
h]
1032 mov eax,dword ptr [esp+10
h]
1036 cmp edx,dword ptr [esp+0Ch]
1039 cmp eax,dword ptr [esp+8]
1043 sub eax,dword ptr [esp+10
h]
1044 sbb edx,dword ptr [esp+14
h]
1048 sub eax,dword ptr [esp+8]
1049 sbb edx,dword ptr [esp+0Ch]
double SDL_uclibc_log(double x)
float SDL_scalbnf(float x, int n)
GLint GLint GLint GLint GLint x
double SDL_sqrt(double x)
GLfloat GLfloat GLfloat GLfloat h
double SDL_uclibc_sin(double x)
double SDL_uclibc_atan2(double y, double x)
float SDL_fmodf(float x, float y)
float SDL_copysignf(float x, float y)
double SDL_ceil(double x)
double SDL_uclibc_copysign(double x, double y)
double SDL_uclibc_pow(double x, double y)
double SDL_uclibc_floor(double x)
double SDL_atan(double x)
double SDL_uclibc_fabs(double x)
double SDL_uclibc_sqrt(double x)
GLenum GLsizei GLsizei GLint * values
double SDL_scalbn(double x, int n)
double SDL_fabs(double x)
double SDL_acos(double val)
double SDL_floor(double x)
double SDL_uclibc_log10(double x)
float SDL_powf(float x, float y)
float SDL_floorf(float x)
double SDL_fmod(double x, double y)
double SDL_log10(double x)
GLsizei GLsizei GLchar * source
GLint GLint GLint GLint GLint GLint y
float SDL_asinf(float val)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
double copysign(double x, double y)
double SDL_uclibc_fmod(double x, double y)
double SDL_uclibc_exp(double x)
float SDL_log10f(float x)
double SDL_uclibc_cos(double x)
double SDL_uclibc_atan(double x)
double SDL_asin(double val)
double SDL_uclibc_tan(double x)
double SDL_pow(double x, double y)
float SDL_acosf(float val)
double SDL_copysign(double x, double y)
double SDL_atan2(double x, double y)
double SDL_uclibc_scalbn(double x, int n)
float SDL_atan2f(float x, float y)