1import cmsisdsp as dsp 2import numpy as np 3import cmsisdsp.fixedpoint as f 4 5# Test vlog q31 and q15 6x = np.array([0.9,0.5,2**-16]) 7 8r=dsp.arm_vlog_q15(f.toQ15(x)) 9print(f.Q15toF32(r)*16.0) 10 11r=dsp.arm_vlog_q31(f.toQ31(x)) 12print(f.Q31toF32(r)*32.0) 13 14print(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 56