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)
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 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)
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)