From ed45e192159d181718f1e21d7f2794fac444d67e Mon Sep 17 00:00:00 2001 From: nyw <skdud@ajou.ac.kr> Date: Wed, 19 Aug 2020 03:17:26 +0900 Subject: [PATCH] Add div test code --- div_perf.c | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 div_perf.c diff --git a/div_perf.c b/div_perf.c new file mode 100644 index 0000000..7dfc664 --- /dev/null +++ b/div_perf.c @@ -0,0 +1,59 @@ +#define TEST_NUM 10000000 + +#include <stdio.h> + +typedef int fx_s2308; +typedef long fixed32; + +#define FX_TO_DOUBLE(a) ((double) (a/(256.0))) +#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_div2(a,b) (int)((a<<8)/(b)) + +long long div_sum_double_test() +{ + long long sum = 0; + + for(int i=1;i<TEST_NUM;i++) + { + sum += FX_DIV(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i)); + } + + return sum; +} + +long long div1_sum_longlong_test() +{ + long long sum = 0; + + for(int i=1;i<TEST_NUM;i++) + { + sum += fx_s2308_l_div1(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i)); + } + + return sum; +} + +long long div2_sum_longlong_test() +{ + long long sum = 0; + + for(int i=1;i<TEST_NUM;i++) + { + sum += fx_s2308_l_div2(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i)); + } + + return sum; +} + +int main() +{ + printf("double div - sum : %lld\n", div_sum_double_test()); + printf("long long div1 - sum : %lld\n", div1_sum_longlong_test()); + printf("long long div2 - sum : %lld\n", div2_sum_longlong_test()); + + return 0; +} + -- GitLab