From a25e8ee68cb97ee26c4c8a135b120ea511dfc38d Mon Sep 17 00:00:00 2001 From: Taylor Richards Date: Thu, 6 Nov 2014 20:53:41 -0500 Subject: [PATCH] remove mul_div() --- include/line.h | 8 ++++---- include/pstypes.h | 8 -------- src/math/fix.cpp | 6 ++++-- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/include/line.h b/include/line.h index df421ee..46c31b6 100644 --- a/include/line.h +++ b/include/line.h @@ -62,7 +62,7 @@ #ifndef _LINE_H #define _LINE_H - + #define INT_EXCHG(a,b) do { \ int __temp__ = (a); \ @@ -70,11 +70,11 @@ (b) = __temp__; \ } while(0) -//#define INT_SCALE(var,arg,num,den) ((var) = ((arg) * (num)) / (den)) -#define INT_SCALE(var,arg,num,den) ((var) = mul_div(arg, num, den)) +#define INT_SCALE(var,arg,num,den) ((var) = ((arg) * (num)) / (den)) +//#define INT_SCALE(var,arg,num,den) ((var) = mul_div(arg, num, den)) #define INT_CLIPLINE(x1,y1,x2,y2,XMIN,YMIN,XMAX,YMAX,WHEN_OUTSIDE,WHEN_CLIPPED,WHEN_SWAPPED) do { \ - int temp; \ + int temp; \ \ if(y1 > y2) \ { INT_EXCHG(y1,y2); INT_EXCHG(x1,x2); WHEN_SWAPPED; } \ diff --git a/include/pstypes.h b/include/pstypes.h index 2e477e6..6f842e4 100644 --- a/include/pstypes.h +++ b/include/pstypes.h @@ -523,14 +523,6 @@ void dc_printf( const char *format, ... ); //====================================================================================== //====================================================================================== -inline int mul_div(int n, int num, int dem) -{ - Sint64 ret = n; - ret *= num; - ret /= dem; - return (int)ret; -} - #include "fix.h" #include "floating.h" diff --git a/src/math/fix.cpp b/src/math/fix.cpp index 20b0396..c5e1007 100644 --- a/src/math/fix.cpp +++ b/src/math/fix.cpp @@ -54,11 +54,13 @@ fix fixmul(fix a, fix b) fix fixdiv(fix a, fix b) { - return mul_div(a,65536,b); + Sint64 ret = (Sint64)a << 16; + return (fix)(ret / b); } fix fixmuldiv(fix a, fix b,fix c) { - return mul_div(a,b,c); + Sint64 ret = (Sint64)a * (Sint64)b; + return (fix)(ret / c); } -- 2.39.2