diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libw32dll/wine/win32.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/libw32dll/wine/win32.c b/src/libw32dll/wine/win32.c index cae598aea..65e7f6c30 100644 --- a/src/libw32dll/wine/win32.c +++ b/src/libw32dll/wine/win32.c @@ -4616,6 +4616,31 @@ static void *exprealloc(void *ptr, size_t size) return my_realloc(ptr, size); } +static double expfloor(double x) +{ + dbgprintf("floor(%lf)\n", x); + return floor(x); +} + +#define FPU_DOUBLE(var) double var; \ + __asm__ __volatile__( "fstpl %0;fwait" : "=m" (var) : ) + +static double exp_CIcos(void) +{ + FPU_DOUBLE(x); + + dbgprintf("_CIcos(%lf)\n", x); + return cos(x); +} + +static double exp_CIsin(void) +{ + FPU_DOUBLE(x); + + dbgprintf("_CIsin(%lf)\n", x); + return sin(x); +} + struct exports { char name[64]; @@ -4820,6 +4845,8 @@ struct exports exp_msvcrt[]={ FF(cos, -1) FF(_ftol,-1) FF(_CIpow,-1) + FF(_CIcos,-1) + FF(_CIsin,-1) FF(ldexp,-1) FF(frexp,-1) FF(sprintf,-1) @@ -4828,6 +4855,7 @@ struct exports exp_msvcrt[]={ FF(fprintf,-1) FF(printf,-1) FF(getenv,-1) + FF(floor,-1) FF(_EH_prolog,-1) FF(calloc,-1) {"ceil",-1,(void*)&ceil}, |