blob: a0313fa7d5c4cf4530eaa814782c5fd65a8c00c8 [file] [log] [blame]
Christophe Favergeon0c9cd472021-07-20 10:51:46 +02001import cmsisdsp as dsp
2import numpy as np
Christophe Favergeone7de2432021-09-07 13:28:35 +02003import cmsisdsp.fixedpoint as f
Christophe Favergeon0c9cd472021-07-20 10:51:46 +02004
5# Test vlog q31 and q15
6x = np.array([0.9,0.5,2**-16])
7
8r=dsp.arm_vlog_q15(f.toQ15(x))
9
10print(f.Q15toF32(r)*16.0)
11
12print(np.log(x))
13
14print("")
15# Test sin_cos
16t=20
17
18sinRef=np.sin(t * np.pi / 180)
19cosRef=np.cos(t * np.pi / 180)
20print(sinRef)
21print(cosRef)
22
23s,c=dsp.arm_sin_cos_f32(t)
24print(s)
25print(c)
26
27s,c=dsp.arm_sin_cos_q31(f.toQ31(t/180.0))
28print(f.Q31toF32(s))
29print(f.Q31toF32(c))
30
31print("")
32# Test sqrt
33a=0.6
34print(np.sqrt(a))
35
36err,r=dsp.arm_sqrt_f32(a)
37print(err,r)
38
39err,r=dsp.arm_sqrt_q31(f.toQ31(a))
40print(err,f.Q31toF32(r))
41
42err,r=dsp.arm_sqrt_q15(f.toQ15(a))
43print(err,f.Q15toF32(r))
44
45err,r=dsp.arm_sqrt_f32(-a)
46print(err,r)
47
48err,r=dsp.arm_sqrt_q31(f.toQ31(-a))
49print(err,f.Q31toF32(r))
50
51err,r=dsp.arm_sqrt_q15(f.toQ15(-a))
52print(err,f.Q15toF32(r))
53