summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-11-24 21:43:59 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2004-11-24 21:43:59 +0000
commitb7c7041376e212578ce1f09878b0fae1a4f06e85 (patch)
tree7b3139d56a8f1aa44f9d5ec810c3ac049b83dead /src
parent734eb7d1fb919682d26d64e75c673e2f344878b6 (diff)
downloadxine-lib-b7c7041376e212578ce1f09878b0fae1a4f06e85.tar.gz
xine-lib-b7c7041376e212578ce1f09878b0fae1a4f06e85.tar.bz2
wmv9 may use floor(), borrow it from mplayer
CVS patchset: 7159 CVS date: 2004/11/24 21:43:59
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},