summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libw32dll/wine/win32.c28
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},