Skip to content
Snippets Groups Projects
Commit 461b19e4 authored by Seungsu Baek's avatar Seungsu Baek
Browse files

add performance test

parent 17193acd
No related branches found
No related tags found
No related merge requests found
......@@ -2,13 +2,13 @@
#define FX32_180 0x0000B400
#define FX32_360 0x00016800
#define fx_2308_l_mul(a,b) (int)(((long long)(a)*(b)) >> 8)
#define fx_2308_l_mul2(a,b) (int)(((long long)(a>>4)*(b>>4)))
#define fx_2308_l_mul3(a,b) (int)(((a)*(b)) >> 8)
#define fx_2308_l_mul4(a,b) (int)(((a>>4)*(b>>4)))
#define fx_s2308_l_mul(a,b) (int)(((long long)(a)*(b)) >> 8)
#define fx_s2308_l_mul2(a,b) (int)(((long long)(a>>4)*(b>>4)))
#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 (int)((long long)(a)/(b))
#define fx_s2308_l_div2 (int)((a<<8)/(b))
#define fx_s2308_l_div1(a,b) (int)((long long)(a)/(b))
#define fx_s2308_l_div2(a,b) (int)((a<<8)/(b))
typedef int fx_s2308;
typedef long fixed32;
......
ptest.c 0 → 100644
#include "fx_s2308_double.h"
#include "fx_s2308_longlong.h"
#include <stdio.h>
#define MAX_NUM 1000000
long long double_mul_test(){
long long temp = 0;
for(int i = 1; i < MAX_NUM; i++){
temp += FX_MUL(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i));
}
return temp;
}
long long longlong_mul_1_test(){
long long temp = 0;
for(int i = 1; i < MAX_NUM; i++){
temp += fx_s2308_l_mul(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i));
}
return temp;
}
long long longlong_mul_2_test(){
long long temp = 0;
for(int i = 1; i < MAX_NUM; i++){
temp += fx_s2308_l_mul2(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i));
}
return temp;
}
long long longlong_mul_3_test(){
long long temp = 0;
for(int i = 1; i < MAX_NUM; i++){
temp += fx_s2308_l_mul3(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i));
}
return temp;
}
long long longlong_mul_4_test(){
long long temp = 0;
for(int i = 1; i < MAX_NUM; i++){
temp += fx_s2308_l_mul4(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i));
}
return temp;
}
long long double_div_test(){
long long temp = 0;
for(int i = 1; i < MAX_NUM; i++){
temp += FX_MUL(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i));
}
return temp;
}
long long longlong_div_1_test(){
long long temp = 0;
for(int i = 1; i < MAX_NUM; i++){
temp += fx_s2308_l_div1(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i));
}
return temp;
}
long long longlong_div_2_test(){
long long temp = 0;
for(int i = 1; i < MAX_NUM; i++){
temp += fx_s2308_l_div2(DOUBLE_TO_FX(i), DOUBLE_TO_FX(i));
}
return temp;
}
int main(){
printf("%lld %lld %lld %lld %lld\n", double_mul_test(), longlong_mul_1_test(), longlong_mul_2_test(), longlong_mul_3_test(), longlong_mul_4_test());
printf("%lld %lld %lld\n", double_div_test(), longlong_div_1_test(), longlong_div_2_test());
return 0;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment