From bfb2f9f58bfa179785e9b67d21b2ea4d98d6ef8e Mon Sep 17 00:00:00 2001 From: Antonin Descampe Date: Mon, 3 Jan 2005 17:39:30 +0000 Subject: [PATCH] Luke Lee optimization for fix_mul... Thanks to him --- libopenjpeg/fix.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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)) ; +} +