Skip to content
Snippets Groups Projects
Commit e5e2b8b4 authored by Choi Jinyoung's avatar Choi Jinyoung
Browse files

modify test.c

parent 809e3a67
No related branches found
No related tags found
1 merge request!3Function2
#include "fx_s2308_double.h" #include "fx_s2308_double.h"
#include <math.h> #include <math.h>
#define PI 3.1415926535897
#define TO_RADIAN(a) (a*(PI/180)) #define TO_RADIAN(a) (a*(PI/180))
fx_s2308 fx_s2308_double_sine(fx_s2308 a){ fx_s2308 fx_s2308_double_sine(fx_s2308 a){
......
...@@ -4,15 +4,16 @@ typedef double fx_s2308; ...@@ -4,15 +4,16 @@ typedef double fx_s2308;
#define FX_TO_FLOAT(a) ((float) (a/(256.0))) #define FX_TO_FLOAT(a) ((float) (a/(256.0)))
#define FX_TO_INT(a) ((int) (a/(256.0))) #define FX_TO_INT(a) ((int) (a/(256.0)))
#define FX_TO_SHORT(a) ((short) (a/(256.0))) #define FX_TO_SHORT(a) ((short) (a/(256.0)))
#define DOUBLE_TO_FX(a) (((int)(a*(256.0)))) #define DOUBLE_TO_FX(a) (((double)(a*(256.0))))
#define FX_ADD(a,b) ((a)+(b)) #define FX_ADD(a,b) ((a)+(b))
#define FX_SUB(a,b) ((a)-(b)) #define FX_SUB(a,b) ((a)-(b))
#define FX_MUL(a,b) DOUBLE_TO_FX(FX_TO_DOUBLE(a)*FX_TO_DOUBLE(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)) #define FX_DIV(a,b) DOUBLE_TO_FX(FX_TO_DOUBLE(a)/FX_TO_DOUBLE(b))
#define PI 3.141592 #define PI 3.141592
#define FX_PI (INT_TO_FX(PI)) #define FX_PI (DOUBLE_TO_FX(PI))
#define FX_INV_PI (DOUBLE_TO_FX(1/PI))
fx_s2308 fx_s2308_double_sine(fx_s2308 a); fx_s2308 fx_s2308_double_sine(fx_s2308 a);
fx_s2308 fx_s2308_double_sqrt(fx_s2308 a); fx_s2308 fx_s2308_double_sqrt(fx_s2308 a);
fx_s2308 fx_s2308_double_pow(fx_s2308 a, double n); fx_s2308 fx_s2308_double_pow(fx_s2308 a, double n);
\ No newline at end of file
...@@ -7,25 +7,45 @@ int main() { ...@@ -7,25 +7,45 @@ int main() {
fx_s2308 output = FX_MUL(a, b); fx_s2308 output = FX_MUL(a, b);
printf("%lf\n",output); printf("%lf\n",output);
printf("===sine test===\n"); printf("\n===Calculation: Addition===\n");
printf("%f + %f = %f\n",a,b,FX_ADD(a,b));
printf("\n===Calculation: Subtraction===\n");
printf("%f - %lf = %f\n",a,b,FX_SUB(a,b));
printf("\n===Calculation: Multiplication===\n");
printf("%f * %lf = %f\n",a,b,FX_MUL(a,b));
printf("\n===Calculation: Division===\n");
printf("%f / %lf = %f\n",a,b,FX_DIV(a,b));
printf("\n===Function: Sine===\n");
double a1=30.0; double a1=30.0;
fx_s2308 f_a1=DOUBLE_TO_FX(a1); fx_s2308 f_a1=DOUBLE_TO_FX(a1);
fx_s2308 sine_a1=fx_s2308_double_sine(f_a1); fx_s2308 sine_a1=fx_s2308_double_sine(f_a1);
printf("%lf %lf %lf\n",a1,f_a1,FX_TO_DOUBLE(sine_a1)); printf("sine(%lf)의 fx_2308 값: %lf, Double로 변환: %lf\n",a1,f_a1,FX_TO_DOUBLE(sine_a1));
printf("===sqrt test===\n"); printf("\n===Function: Sqrt===\n");
double a2=100.0; double a2=100.0;
fx_s2308 f_a2=DOUBLE_TO_FX(a2); fx_s2308 f_a2=DOUBLE_TO_FX(a2);
fx_s2308 sqrt_a2=fx_s2308_double_sqrt(f_a2); fx_s2308 sqrt_a2=fx_s2308_double_sqrt(f_a2);
printf("%lf %lf %lf\n",a2,f_a2,FX_TO_DOUBLE(sqrt_a2)); printf("sqrt(%lf)의 fx_2308 값: %lf, Double로 변환: %lf\n\n",a2,f_a2,FX_TO_DOUBLE(sqrt_a2));
printf("\n===Function: Power===\n");
printf("===power test===\n");
double a3=64.0; double a3=64.0;
fx_s2308 f_a3=DOUBLE_TO_FX(a3); fx_s2308 f_a3=DOUBLE_TO_FX(a3);
fx_s2308 pow_a3=fx_s2308_double_pow(f_a3,2.0); fx_s2308 pow_a3=fx_s2308_double_pow(f_a3,2.0);
printf("%lf %lf %lf\n",a3,f_a3,FX_TO_DOUBLE(pow_a3)); printf("%lf의 2.0 제곱의 fx_2308 값: %lf, Double로 변환: %lf\n",a3,f_a3,FX_TO_DOUBLE(pow_a3));
printf("\n===Conversion: fx to double===\n");
printf("fx_s2308 %lf is changed into double %lf\n", a, FX_TO_DOUBLE(a));
printf("\n===Conversion: fx to float===\n");
printf("fx_s2308 %lf is changed into float %f\n", a, FX_TO_FLOAT(a));
printf("\n===Conversion: fx to int===\n");
printf("fx_s2308 %lf is changed into double %d\n", a, FX_TO_INT(a));
printf("\n===Conversion: fx to short===\n");
printf("fx_s2308 %lf is changed into double %d\n", a, FX_TO_SHORT(a));
printf("\n===Constant: PI===\n");
printf("PI의 fx_2308 값: %lf\n",FX_PI);
printf("\n===Constant: Inverse PI===\n");
printf("1/PI의 fx_2308 값: %lf\n",FX_INV_PI);
return 0; return 0;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment