Luke Lee optimization for fix_mul... Thanks to him

This commit is contained in:
Antonin Descampe 2005-01-03 17:39:30 +00:00
parent 13b8ecfe44
commit bfb2f9f58b
1 changed files with 8 additions and 0 deletions

View File

@ -43,6 +43,7 @@
//} //}
//Mod Antonin : multbug1 //Mod Antonin : multbug1
/*
int fix_mul(int a, int b) int fix_mul(int a, int b)
{ {
double tmp= (double) ((int64) a * (int64) b); double tmp= (double) ((int64) a * (int64) b);
@ -50,5 +51,12 @@ int fix_mul(int a, int b)
v = (tmp<0)?-v:v; v = (tmp<0)?-v:v;
return (int) v; return (int) v;
} }
*/
//doM //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)) ;
}