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