25 #include "SDL_stdinc.h"
26 #include "../libm/math_libm.h"
42 #if defined(HAVE_ATAN2)
55 return (
double)(
int)((x)+0.5);
62 #if defined(HAVE_COPYSIGN)
85 return (
float)
SDL_cos((
double)x);
92 #if defined(HAVE_FABS)
102 #if defined(HAVE_FLOOR)
112 #if defined(HAVE_LOG)
122 #if defined(HAVE_POW)
132 #if defined(HAVE_SCALBN)
142 #if defined(HAVE_SIN)
155 return (
float)
SDL_sin((
double)x);
162 #if defined(HAVE_SQRT)
174 return ((x) < 0 ? -(x) : (x));
185 int SDL_isspace(
int x) {
return ((x) ==
' ') || ((
x) ==
'\t') || ((
x) ==
'\r') || ((
x) ==
'\n') || ((
x) ==
'\f') || ((
x) ==
'\v'); }
186 int SDL_toupper(
int x) {
return ((x) >=
'a') && ((
x) <=
'z') ? (
'A'+((
x)-
'a')) : (x); }
187 int SDL_tolower(
int x) {
return ((x) >=
'A') && ((
x) <=
'Z') ? (
'a'+((
x)-
'A')) : (x); }
194 #if defined(_MSC_VER)
198 __declspec(selectany)
int _fltused = 1;
202 #if _MSC_VER >= 1600 && defined(_WIN64) && !defined(_DEBUG)
205 #pragma function(memcpy)
215 for (i = num / 64; i--;) {
216 _mm_prefetch(src, _MM_HINT_NTA);
217 values[0] = *(__m128 *) (src + 0);
218 values[1] = *(__m128 *) (src + 16);
219 values[2] = *(__m128 *) (src + 32);
220 values[3] = *(__m128 *) (src + 48);
221 _mm_stream_ps((
float *) (dst + 0), values[0]);
222 _mm_stream_ps((
float *) (dst + 16), values[1]);
223 _mm_stream_ps((
float *) (dst + 32), values[2]);
224 _mm_stream_ps((
float *) (dst + 48), values[3]);
258 fst dword ptr [esp+18
h]
259 fistp qword ptr [esp+10
h]
260 fild qword ptr [esp+10
h]
261 mov edx,dword ptr [esp+18
h]
262 mov eax,dword ptr [esp+10
h]
264 je integer_QnaN_or_zero
265 arg_is_not_integer_QnaN:
270 mov ecx,dword ptr [esp]
274 mov edx,dword ptr [esp+14
h]
279 mov ecx,dword ptr [esp]
282 mov edx,dword ptr [esp+14
h]
285 integer_QnaN_or_zero:
286 mov edx,dword ptr [esp+14
h]
288 jne arg_is_not_integer_QnaN
289 fstp dword ptr [esp+18
h]
290 fstp dword ptr [esp+18
h]
317 mov eax,dword ptr [ebp+10
h]
318 mov edi,dword ptr [ebp+8]
322 mov eax,dword ptr [ebp+8]
326 mov dword ptr [ebp-18
h],eax
327 mov edx,dword ptr [ebp+0Ch]
330 mov eax,dword ptr [ebp-18
h]
332 mov dword ptr [ebp-14
h],ebx
333 mov edx,dword ptr [ebp-14
h]
354 mov eax,dword ptr [esp+14
h]
358 mov edx,dword ptr [esp+10
h]
362 mov dword ptr [esp+14
h],eax
363 mov dword ptr [esp+10
h],edx
365 mov eax,dword ptr [esp+1Ch]
369 mov edx,dword ptr [esp+18
h]
373 mov dword ptr [esp+1Ch],eax
374 mov dword ptr [esp+18
h],edx
378 mov ecx,dword ptr [esp+18
h]
379 mov eax,dword ptr [esp+14
h]
383 mov eax,dword ptr [esp+10
h]
389 mov ecx,dword ptr [esp+18
h]
390 mov edx,dword ptr [esp+14
h]
391 mov eax,dword ptr [esp+10
h]
401 mul dword ptr [esp+1Ch]
403 mov eax,dword ptr [esp+18
h]
407 cmp edx,dword ptr [esp+14
h]
410 cmp eax,dword ptr [esp+10
h]
440 mov eax,dword ptr [esp+18
h]
443 mov ecx,dword ptr [esp+14
h]
444 mov eax,dword ptr [esp+10
h]
448 mov eax,dword ptr [esp+0Ch]
454 mov ebx,dword ptr [esp+14
h]
455 mov edx,dword ptr [esp+10
h]
456 mov eax,dword ptr [esp+0Ch]
466 mul dword ptr [esp+18
h]
468 mov eax,dword ptr [esp+14
h]
472 cmp edx,dword ptr [esp+10
h]
475 cmp eax,dword ptr [esp+0Ch]
499 mov eax,dword ptr [esp+10
h]
503 mov edx,dword ptr [esp+0Ch]
507 mov dword ptr [esp+10
h],eax
508 mov dword ptr [esp+0Ch],edx
510 mov eax,dword ptr [esp+18
h]
513 mov edx,dword ptr [esp+14
h]
517 mov dword ptr [esp+18
h],eax
518 mov dword ptr [esp+14
h],edx
522 mov ecx,dword ptr [esp+14
h]
523 mov eax,dword ptr [esp+10
h]
526 mov eax,dword ptr [esp+0Ch]
535 mov ecx,dword ptr [esp+14
h]
536 mov edx,dword ptr [esp+10
h]
537 mov eax,dword ptr [esp+0Ch]
547 mul dword ptr [esp+18
h]
549 mul dword ptr [esp+14
h]
552 cmp edx,dword ptr [esp+10
h]
555 cmp eax,dword ptr [esp+0Ch]
558 sub eax,dword ptr [esp+14
h]
559 sbb edx,dword ptr [esp+18
h]
561 sub eax,dword ptr [esp+0Ch]
562 sbb edx,dword ptr [esp+10
h]
584 mov eax,dword ptr [esp+14
h]
587 mov ecx,dword ptr [esp+10
h]
588 mov eax,dword ptr [esp+0Ch]
591 mov eax,dword ptr [esp+8]
598 mov ebx,dword ptr [esp+10
h]
599 mov edx,dword ptr [esp+0Ch]
600 mov eax,dword ptr [esp+8]
610 mul dword ptr [esp+14
h]
612 mul dword ptr [esp+10
h]
615 cmp edx,dword ptr [esp+0Ch]
618 cmp eax,dword ptr [esp+8]
621 sub eax,dword ptr [esp+10
h]
622 sbb edx,dword ptr [esp+14
h]
624 sub eax,dword ptr [esp+8]
625 sbb edx,dword ptr [esp+0Ch]
647 mov eax,dword ptr [esp+14
h]
652 mov edx,dword ptr [esp+10
h]
656 mov dword ptr [esp+14
h],eax
657 mov dword ptr [esp+10
h],edx
659 mov eax,dword ptr [esp+1Ch]
663 mov edx,dword ptr [esp+18
h]
667 mov dword ptr [esp+1Ch],eax
668 mov dword ptr [esp+18
h],edx
672 mov ecx,dword ptr [esp+18
h]
673 mov eax,dword ptr [esp+14
h]
677 mov eax,dword ptr [esp+10
h]
681 mul dword ptr [esp+18
h]
684 mul dword ptr [esp+18
h]
689 mov ecx,dword ptr [esp+18
h]
690 mov edx,dword ptr [esp+14
h]
691 mov eax,dword ptr [esp+10
h]
701 mul dword ptr [esp+1Ch]
703 mov eax,dword ptr [esp+18
h]
707 cmp edx,dword ptr [esp+14
h]
710 cmp eax,dword ptr [esp+10
h]
714 sub eax,dword ptr [esp+18
h]
715 sbb edx,dword ptr [esp+1Ch]
719 sub eax,dword ptr [esp+10
h]
720 sbb edx,dword ptr [esp+14
h]
753 mov eax,dword ptr [esp+14
h]
756 mov ecx,dword ptr [esp+10
h]
757 mov eax,dword ptr [esp+0Ch]
761 mov eax,dword ptr [esp+8]
765 mul dword ptr [esp+10
h]
768 mul dword ptr [esp+10
h]
773 mov ebx,dword ptr [esp+10
h]
774 mov edx,dword ptr [esp+0Ch]
775 mov eax,dword ptr [esp+8]
785 mul dword ptr [esp+14
h]
787 mov eax,dword ptr [esp+10
h]
791 cmp edx,dword ptr [esp+0Ch]
794 cmp eax,dword ptr [esp+8]
798 sub eax,dword ptr [esp+10
h]
799 sbb edx,dword ptr [esp+14
h]
803 sub eax,dword ptr [esp+8]
804 sbb edx,dword ptr [esp+0Ch]
DECLSPEC int SDLCALL SDL_isspace(int x)
DECLSPEC double SDLCALL SDL_cos(double x)
DECLSPEC float SDLCALL SDL_cosf(float x)
double SDL_uclibc_log(double x)
GLfloat GLfloat GLfloat GLfloat h
DECLSPEC double SDLCALL SDL_fabs(double x)
DECLSPEC double SDLCALL SDL_pow(double x, double y)
DECLSPEC double SDLCALL SDL_copysign(double x, double y)
double SDL_uclibc_sin(double x)
double SDL_uclibc_atan2(double y, double x)
DECLSPEC int SDLCALL SDL_tolower(int x)
double SDL_uclibc_copysign(double x, double y)
double SDL_uclibc_pow(double x, double y)
double SDL_uclibc_floor(double x)
DECLSPEC int SDLCALL SDL_abs(int x)
DECLSPEC double SDLCALL SDL_sin(double x)
double SDL_uclibc_fabs(double x)
double SDL_uclibc_sqrt(double x)
DECLSPEC double SDLCALL SDL_atan(double x)
DECLSPEC double SDLCALL SDL_scalbn(double x, int n)
DECLSPEC double SDLCALL SDL_floor(double x)
DECLSPEC float SDLCALL SDL_sinf(float x)
EGLSurface EGLint EGLint y
double copysign(double x, double y)
DECLSPEC double SDLCALL SDL_log(double x)
uint8_t Uint8
An unsigned 8-bit integer type.
DECLSPEC int SDLCALL SDL_toupper(int x)
double SDL_uclibc_cos(double x)
DECLSPEC double SDLCALL SDL_ceil(double x)
double SDL_uclibc_atan(double x)
DECLSPEC double SDLCALL SDL_sqrt(double x)
double scalbn(double x, int n)
DECLSPEC double SDLCALL SDL_atan2(double x, double y)
GLsizei GLsizei GLchar * source
DECLSPEC int SDLCALL SDL_isdigit(int x)
double SDL_uclibc_scalbn(double x, int n)
GLint GLsizei const GLuint64 * values