diff --git a/div_perf.c b/div_perf.c index 7dfc664088ec659b98440212e8e73598c264ef57..7928ddd7ebfdcb1ad2189f4e8f4ca4f63931cade 100644 --- a/div_perf.c +++ b/div_perf.c @@ -9,7 +9,7 @@ typedef long fixed32; #define DOUBLE_TO_FX(a) (((int)(a*(256.0)))) #define FX_DIV(a,b) DOUBLE_TO_FX(FX_TO_DOUBLE(a)/FX_TO_DOUBLE(b)) -#define fx_s2308_l_div1(a,b) (int)((long long)(a)/(b)) +#define fx_s2308_l_div1(a,b) (int)(((long long)(a)/(b))<<8) #define fx_s2308_l_div2(a,b) (int)((a<<8)/(b)) long long div_sum_double_test() diff --git a/fx_s2308_longlong.h b/fx_s2308_longlong.h index 39ae85a41a61653aea72286a3ce4ea17bb112f92..794ebb4dfb09cb01235db65bfe2aaa3aba41b16c 100644 --- a/fx_s2308_longlong.h +++ b/fx_s2308_longlong.h @@ -7,7 +7,7 @@ #define fx_s2308_l_mul3(a,b) (int)(((a)*(b)) >> 8) #define fx_s2308_l_mul4(a,b) (int)(((a>>4)*(b>>4))) -#define fx_s2308_l_div1(a,b) (int)((long long)(a)/(b)) +#define fx_s2308_l_div1(a,b) (int)(((long long)(a)/(b))<<8) #define fx_s2308_l_div2(a,b) (int)((a<<8)/(b)) typedef int fx_s2308;