From 68a828079b8113ac14654ff179acdab6131d11cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B3=A0=EC=98=88=EC=A4=80?= <yejoon08@ajou.ac.kr> Date: Thu, 20 Aug 2020 23:39:59 +0900 Subject: [PATCH] =?UTF-8?q?Update=20fx=5F1615=5Flonglong.h=5Fdiv02?= =?UTF-8?q?=EC=99=80=20div03=20=EC=88=9C=EC=84=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fx_1615_longlong.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/fx_1615_longlong.h b/fx_1615_longlong.h index 6f9c6d3..993f558 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위 -- GitLab