Skip to content
Snippets Groups Projects
Commit af9924e8 authored by hansuchan's avatar hansuchan
Browse files

function change macro

parent b8a9ca94
No related branches found
No related tags found
No related merge requests found
#include <math.h> #include <math.h>
typedef double fx_s2308; typedef double fx_s2308;
fx_s2308 sum_fx_s2308_double(fx_s2308 a, fx_s2308 b){
fx_s2308 value = ((a / pow(2, 8))+ (b / pow(2, 8)))*pow(2,8);
return value;
}
fx_s2308 minus_fx_s2308_double(fx_s2308 a, fx_s2308 b) {
fx_s2308 value = ((a / pow(2, 8)) - (b / pow(2, 8))) * pow(2, 8);
return value;
}
fx_s2308 mul_fx_s2308_double(fx_s2308 a, fx_s2308 b) {
fx_s2308 value = (a / pow(2, 8)) * b / pow(2, 8) * pow(2, 8);
return value;
}
fx_s2308 div_fx_s2308_double(fx_s2308 a, fx_s2308 b) {
fx_s2308 value = (a / pow(2, 8)) /b /pow(2,8)*pow(2,8);
return value;
}
fx_s2308 sin_fx_s2308_double(fx_s2308 a);
fx_s2308 sqrt_fx_s2308_double(fx_s2308 a);
fx_s2308 log_fx_s2308_double(fx_s2308 a);
fx_s2308 ln_fx_s2308_double(fx_s2308 a);
\ No newline at end of file
#pragma once #pragma once
typedef double fx_s2308; typedef double fx_s2308;
#define fx_to_double(a) ((double) a/ (256.0))
fx_s2308 sum_fx_s2308_double(fx_s2308 a, fx_s2308 b); #define double_to_fix(a) ((double) a/ (256.0))
fx_s2308 minus_fx_s2308_double(fx_s2308 a, fx_s2308 b); #define fx_add(a,b) (a+b)
fx_s2308 mul_fx_s2308_double(fx_s2308 a, fx_s2308 b); #define fx_sub(a,b) (a-b)
fx_s2308 div_fx_s2308_double(fx_s2308 a, fx_s2308 b); #define fx_mul(a,b) (double_to_fx(fx_to_double(a)*fx_to_double(b)))
#define fx_div (a,b) (double_to_fx(fx_to_double(a)/fx_to_double(b)))
fx_s2308 sin_fx_s2308_double(fx_s2308 a); \ No newline at end of file
fx_s2308 sqrt_fx_s2308_double(fx_s2308 a);
fx_s2308 log_fx_s2308_double(fx_s2308 a);
fx_s2308 ln_fx_s2308_double(fx_s2308 a);
\ No newline at end of file
...@@ -5,13 +5,7 @@ typedef double fx_s2308; ...@@ -5,13 +5,7 @@ typedef double fx_s2308;
int main() { int main() {
fx_s2308 a = 200; fx_s2308 a = 200;
fx_s2308 b = 100; fx_s2308 b = 100;
fx_s2308 output=sum_fx_s2308_double(a,b); fx_s2308 output = fx_add(a, b);
printf("%lf\n",output); printf("%lf",output);
output = minus_fx_s2308_double(a, b);
printf("%lf\n", output);
output = mul_fx_s2308_double(a, b);
printf("%lf\n", output);
output = div_fx_s2308_double(a, b);
printf("%lf\n", output);
return 0; 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