summaryrefslogtreecommitdiff
path: root/libopenjpeg
diff options
context:
space:
mode:
Diffstat (limited to 'libopenjpeg')
-rw-r--r--libopenjpeg/fix.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libopenjpeg/fix.c b/libopenjpeg/fix.c
index 77ca6d63..4a5f91e6 100644
--- a/libopenjpeg/fix.c
+++ b/libopenjpeg/fix.c
@@ -43,6 +43,7 @@
//}
//Mod Antonin : multbug1
+/*
int fix_mul(int a, int b)
{
double tmp= (double) ((int64) a * (int64) b);
@@ -50,5 +51,12 @@ int fix_mul(int a, int b)
v = (tmp<0)?-v:v;
return (int) v;
}
+*/
//doM
+int fix_mul(int a, int b) // Luke Lee optimized : 11/16/2004
+{
+ int64 temp = (int64) a * (int64) b >> 12;
+ return (int) ((temp >> 1) + (temp & 1)) ;
+}
+