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_ATAN2)
57 #if defined(HAVE_ACOS)
77 #if defined(HAVE_ASIN)
82 result = -(M_PI / 2.0);
84 result = (M_PI / 2.0) -
SDL_acos(val);
93 #if defined(HAVE_CEIL)
97 double fraction = x - integer;
108 #if defined(HAVE_COPYSIGN)
110 #elif defined(HAVE__COPYSIGN)
111 return _copysign(x, y);
112 #elif defined(__WATCOMC__) && defined(__386__)
114 unsigned int *xi = (
unsigned int *) &x,
115 *yi = (
unsigned int *) &
y;
116 xi[1] = (yi[1] & 0x80000000) | (xi[1] & 0x7fffffff);
126 #if defined(HAVE_COS)
136 #if defined(HAVE_COSF)
139 return (
float)
SDL_cos((
double)x);
146 #if defined(HAVE_FABS)
156 #if defined(HAVE_FLOOR)
166 #if defined(HAVE_LOG)
176 #if defined(HAVE_POW)
186 #if defined(HAVE_SCALBN)
188 #elif defined(HAVE__SCALB)
190 #elif defined(HAVE_LIBC) && defined(HAVE_FLOAT_H) && (FLT_RADIX == 2)
202 #if defined(HAVE_SIN)
212 #if defined(HAVE_SINF)
215 return (
float)
SDL_sin((
double)x);
222 #if defined(HAVE_SQRT)
232 #if defined(HAVE_SQRTF)
242 #if defined(HAVE_TAN)
252 #if defined(HAVE_TANF)
255 return (
float)
SDL_tan((
double)x);
261 #if defined(HAVE_ABS)
264 return ((x) < 0 ? -(x) : (x));
268 #if defined(HAVE_CTYPE_H)
275 int SDL_isspace(
int x) {
return ((x) ==
' ') || ((
x) ==
'\t') || ((
x) ==
'\r') || ((
x) ==
'\n') || ((
x) ==
'\f') || ((
x) ==
'\v'); }
276 int SDL_toupper(
int x) {
return ((x) >=
'a') && ((
x) <=
'z') ? (
'A'+((
x)-
'a')) : (x); }
277 int SDL_tolower(
int x) {
return ((x) >=
'A') && ((
x) <=
'Z') ? (
'a'+((
x)-
'A')) : (x); }
284 #if defined(_MSC_VER)
288 __declspec(selectany) int _fltused = 1;
292 #if (_MSC_VER >= 1400) && defined(_WIN64) && !defined(_DEBUG) && !(_MSC_VER >= 1900 && defined(_MT))
295 #pragma function(memcpy)
305 for (i = num / 64; i--;) {
306 _mm_prefetch(src, _MM_HINT_NTA);
307 values[0] = *(__m128 *) (src + 0);
308 values[1] = *(__m128 *) (src + 16);
309 values[2] = *(__m128 *) (src + 32);
310 values[3] = *(__m128 *) (src + 48);
311 _mm_stream_ps((
float *) (dst + 0), values[0]);
312 _mm_stream_ps((
float *) (dst + 16), values[1]);
313 _mm_stream_ps((
float *) (dst + 32), values[2]);
314 _mm_stream_ps((
float *) (dst + 48), values[3]);
342 fst dword ptr [esp+18
h]
343 fistp qword ptr [esp+10
h]
344 fild qword ptr [esp+10
h]
345 mov edx,dword ptr [esp+18
h]
346 mov eax,dword ptr [esp+10
h]
348 je integer_QnaN_or_zero
349 arg_is_not_integer_QnaN:
354 mov ecx,dword ptr [esp]
358 mov edx,dword ptr [esp+14
h]
363 mov ecx,dword ptr [esp]
366 mov edx,dword ptr [esp+14
h]
369 integer_QnaN_or_zero:
370 mov edx,dword ptr [esp+14
h]
372 jne arg_is_not_integer_QnaN
373 fstp dword ptr [esp+18
h]
374 fstp dword ptr [esp+18
h]
395 mov eax, dword ptr[esp+8]
396 mov ecx, dword ptr[esp+10
h]
398 mov ecx, dword ptr[esp+0Ch]
400 mov eax, dword ptr[esp+4]
407 mov eax, dword ptr[esp+8]
408 mul dword ptr[esp+14
h]
410 mov eax, dword ptr[esp+8]
429 mov eax,dword ptr [esp+14
h]
433 mov edx,dword ptr [esp+10
h]
437 mov dword ptr [esp+14
h],eax
438 mov dword ptr [esp+10
h],edx
440 mov eax,dword ptr [esp+1Ch]
444 mov edx,dword ptr [esp+18
h]
448 mov dword ptr [esp+1Ch],eax
449 mov dword ptr [esp+18
h],edx
453 mov ecx,dword ptr [esp+18
h]
454 mov eax,dword ptr [esp+14
h]
458 mov eax,dword ptr [esp+10
h]
464 mov ecx,dword ptr [esp+18
h]
465 mov edx,dword ptr [esp+14
h]
466 mov eax,dword ptr [esp+10
h]
476 mul dword ptr [esp+1Ch]
478 mov eax,dword ptr [esp+18
h]
482 cmp edx,dword ptr [esp+14
h]
485 cmp eax,dword ptr [esp+10
h]
515 mov eax,dword ptr [esp+18
h]
518 mov ecx,dword ptr [esp+14
h]
519 mov eax,dword ptr [esp+10
h]
523 mov eax,dword ptr [esp+0Ch]
529 mov ebx,dword ptr [esp+14
h]
530 mov edx,dword ptr [esp+10
h]
531 mov eax,dword ptr [esp+0Ch]
541 mul dword ptr [esp+18
h]
543 mov eax,dword ptr [esp+14
h]
547 cmp edx,dword ptr [esp+10
h]
550 cmp eax,dword ptr [esp+0Ch]
574 mov eax,dword ptr [esp+10
h]
578 mov edx,dword ptr [esp+0Ch]
582 mov dword ptr [esp+10
h],eax
583 mov dword ptr [esp+0Ch],edx
585 mov eax,dword ptr [esp+18
h]
588 mov edx,dword ptr [esp+14
h]
592 mov dword ptr [esp+18
h],eax
593 mov dword ptr [esp+14
h],edx
597 mov ecx,dword ptr [esp+14
h]
598 mov eax,dword ptr [esp+10
h]
601 mov eax,dword ptr [esp+0Ch]
610 mov ecx,dword ptr [esp+14
h]
611 mov edx,dword ptr [esp+10
h]
612 mov eax,dword ptr [esp+0Ch]
622 mul dword ptr [esp+18
h]
624 mul dword ptr [esp+14
h]
627 cmp edx,dword ptr [esp+10
h]
630 cmp eax,dword ptr [esp+0Ch]
633 sub eax,dword ptr [esp+14
h]
634 sbb edx,dword ptr [esp+18
h]
636 sub eax,dword ptr [esp+0Ch]
637 sbb edx,dword ptr [esp+10
h]
659 mov eax,dword ptr [esp+14
h]
662 mov ecx,dword ptr [esp+10
h]
663 mov eax,dword ptr [esp+0Ch]
666 mov eax,dword ptr [esp+8]
673 mov ebx,dword ptr [esp+10
h]
674 mov edx,dword ptr [esp+0Ch]
675 mov eax,dword ptr [esp+8]
685 mul dword ptr [esp+14
h]
687 mul dword ptr [esp+10
h]
690 cmp edx,dword ptr [esp+0Ch]
693 cmp eax,dword ptr [esp+8]
696 sub eax,dword ptr [esp+10
h]
697 sbb edx,dword ptr [esp+14
h]
699 sub eax,dword ptr [esp+8]
700 sbb edx,dword ptr [esp+0Ch]
722 mov eax,dword ptr [esp+14
h]
727 mov edx,dword ptr [esp+10
h]
731 mov dword ptr [esp+14
h],eax
732 mov dword ptr [esp+10
h],edx
734 mov eax,dword ptr [esp+1Ch]
738 mov edx,dword ptr [esp+18
h]
742 mov dword ptr [esp+1Ch],eax
743 mov dword ptr [esp+18
h],edx
747 mov ecx,dword ptr [esp+18
h]
748 mov eax,dword ptr [esp+14
h]
752 mov eax,dword ptr [esp+10
h]
756 mul dword ptr [esp+18
h]
759 mul dword ptr [esp+18
h]
764 mov ecx,dword ptr [esp+18
h]
765 mov edx,dword ptr [esp+14
h]
766 mov eax,dword ptr [esp+10
h]
776 mul dword ptr [esp+1Ch]
778 mov eax,dword ptr [esp+18
h]
782 cmp edx,dword ptr [esp+14
h]
785 cmp eax,dword ptr [esp+10
h]
789 sub eax,dword ptr [esp+18
h]
790 sbb edx,dword ptr [esp+1Ch]
794 sub eax,dword ptr [esp+10
h]
795 sbb edx,dword ptr [esp+14
h]
828 mov eax,dword ptr [esp+14
h]
831 mov ecx,dword ptr [esp+10
h]
832 mov eax,dword ptr [esp+0Ch]
836 mov eax,dword ptr [esp+8]
840 mul dword ptr [esp+10
h]
843 mul dword ptr [esp+10
h]
848 mov ebx,dword ptr [esp+10
h]
849 mov edx,dword ptr [esp+0Ch]
850 mov eax,dword ptr [esp+8]
860 mul dword ptr [esp+14
h]
862 mov eax,dword ptr [esp+10
h]
866 cmp edx,dword ptr [esp+0Ch]
869 cmp eax,dword ptr [esp+8]
873 sub eax,dword ptr [esp+10
h]
874 sbb edx,dword ptr [esp+14
h]
878 sub eax,dword ptr [esp+8]
879 sbb edx,dword ptr [esp+0Ch]
double SDL_uclibc_log(double x)
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)
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)
GLsizei GLsizei GLchar * source
GLint GLint GLint GLint GLint GLint y
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)
double SDL_copysign(double x, double y)
double SDL_atan2(double x, double y)
double SDL_uclibc_scalbn(double x, int n)