diff --git a/fx_1615_longlong.h b/fx_1615_longlong.h index 6f9c6d3c84a6b0753402ac220343839e1e748355..993f55854881fd2b4809d770f921cad488a4edd7 100755 --- a/fx_1615_longlong.h +++ b/fx_1615_longlong.h @@ -11,24 +11,23 @@ typedef long long fixed64; // 32 bit 컴퓨터인데 성능이 중요하다면 MUL2나 MUL3 사용 #define FX_1615_LONGLONG_MUL2(a, b) ((a) * (b)) >> 15 #define FX_1615_LONGLONG_MUL3(a, b) ((a >> 8) * (b >> 7)) -#define FX_1615_LONGLONG_DIV01(a,b) (fx_s1615)((fixed64)((a >> 15) / (b >> 15)) << 15) -#define FX_1615_LONGLONG_DIV02(a,b) (fx_s1615)(((fixed64)(a) << 15) / (b)) +//#define FX_1615_LONGLONG_DIV01(a,b) (fx_s1615)((fixed64)((a >> 15) / (b >> 15)) << 15) +//#define FX_1615_LONGLONG_DIV02(a,b) (fx_s1615)(((fixed64)(a) << 15) / (b)) // #define FX_1615_LONGLONG_DIV03(a,b) (fx_s1615)(((fixed64)((a) << 15) / b)) - - // #define FX_1615_LONGLONG_DIV04(a,b) (fx_s1615)((((fixed64)(a << 4) / (b >> 4)) << 7)) // #define FX_1615_LONGLONG_DIV05(a,b) ((((a) << 8) / (b)) << 7) // #define FX_1615_LONGLONG_DIV11(a,b) (((a << 7) / (b >> 4)) << 4) // DIV2 속도 테스트 2위 - // #define FX_1615_LONGLONG_DIV06(a,b) ((a) / ((b) >> 15)) // #define FX_1615_LONGLONG_DIV07(a,b) (((a << 8) / (b >> 4)) << 3) // DIV2 속도 테스트 1위 // #define FX_1615_LONGLONG_DIV08(a,b) ((a << 8) / (b >> 7)) // #define FX_1615_LONGLONG_DIV09(a,b) (((a << 4) / (b >> 4)) << 7) // DIV2 속도 테스트 3위 // #define FX_1615_LONGLONG_DIV01(a,b) (fx_s1615)((fixed64)((a >> 15) / (b >> 15)) << 15) // #define FX_1615_LONGLONG_DIV02(a,b) (fx_s1615)(((fixed64)(a) << 15) / (b)) + + #define FX_1615_LONGLONG_DIV01(a,b) (fx_s1615)((fixed64)((a >> 15) / (b >> 15)) << 15) -#define FX_1615_LONGLONG_DIV02(a,b) (fx_s1615)(((fixed64)(a) << 15) / (b)) -#define FX_1615_LONGLONG_DIV03(a,b) (((a << 5) / (b >> 6)) << 4) // DIV2 속도 테스트 4위 +#define FX_1615_LONGLONG_DIV02(a,b) (((a << 5) / (b >> 6)) << 4) // DIV2 속도 테스트 4위 +#define FX_1615_LONGLONG_DIV03(a,b) (fx_s1615)(((fixed64)(a) << 15) / (b)) //#define FX_1615_LONGLONG_DIV10(a,b) (((a << 5) / (b >> 6)) << 4) // DIV2 속도 테스트 4위