blob: 01a9813ada7edff1678c9f5058dd21894eeb991e [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))
Christophe Favergeon0c9cd472021-07-20 10:51:46 +02009print(f.Q15toF32(r)*16.0)
10
Christophe Favergeon19dc9522021-09-22 15:37:22 +020011r=dsp.arm_vlog_q31(f.toQ31(x))
12print(f.Q31toF32(r)*32.0)
13
Christophe Favergeon0c9cd472021-07-20 10:51:46 +020014print(np.log(x))
15
16print("")
17# Test sin_cos
18t=20
19
20sinRef=np.sin(t * np.pi / 180)
21cosRef=np.cos(t * np.pi / 180)
22print(sinRef)
23print(cosRef)
24
25s,c=dsp.arm_sin_cos_f32(t)
26print(s)
27print(c)
28
29s,c=dsp.arm_sin_cos_q31(f.toQ31(t/180.0))
30print(f.Q31toF32(s))
31print(f.Q31toF32(c))
32
33print("")
34# Test sqrt
35a=0.6
36print(np.sqrt(a))
37
38err,r=dsp.arm_sqrt_f32(a)
39print(err,r)
40
41err,r=dsp.arm_sqrt_q31(f.toQ31(a))
42print(err,f.Q31toF32(r))
43
44err,r=dsp.arm_sqrt_q15(f.toQ15(a))
45print(err,f.Q15toF32(r))
46
47err,r=dsp.arm_sqrt_f32(-a)
48print(err,r)
49
50err,r=dsp.arm_sqrt_q31(f.toQ31(-a))
51print(err,f.Q31toF32(r))
52
53err,r=dsp.arm_sqrt_q15(f.toQ15(-a))
54print(err,f.Q15toF32(r))
55