| /cmsis-dsp-latest/PrivateInclude/ |
| D | arm_sorting.h | 109 #define vtrn256_128q(a, b) \ argument 111 float32x4_t vtrn128_temp = a.val[1]; \ 112 a.val[1] = b.val[0]; \ 116 #define vtrn128_64q(a, b) \ argument 119 ab = vget_low_f32(a); \ 121 cd = vget_high_f32(a); \ 123 a = vcombine_f32(ab, ef); \ 127 #define vtrn256_64q(a, b) \ argument 131 a_0 = vget_low_f32(a.val[0]); \ 132 a_1 = vget_high_f32(a.val[0]); \ [all …]
|
| /cmsis-dsp-latest/Source/DistanceFunctions/ |
| D | arm_canberra_distance_f32.c | 64 f32x4_t a, b, c, accumV; in arm_canberra_distance_f32() local 70 a = vld1q(pA); in arm_canberra_distance_f32() 73 c = vabdq(a, b); in arm_canberra_distance_f32() 75 a = vabsq(a); in arm_canberra_distance_f32() 77 a = vaddq(a, b); in arm_canberra_distance_f32() 82 a = vrecip_medprec_f32(a); in arm_canberra_distance_f32() 88 a = vdupq_m_n_f32(a, 0.0f, vcmpeqq(a, 0.0f)); in arm_canberra_distance_f32() 89 c = vmulq(c, a); in arm_canberra_distance_f32() 101 a = vldrwq_z_f32(pA, p0); in arm_canberra_distance_f32() 104 c = vabdq(a, b); in arm_canberra_distance_f32() [all …]
|
| D | arm_canberra_distance_f16.c | 77 f16x8_t a, b, c, accumV; in arm_canberra_distance_f16() local 83 a = vld1q(pA); in arm_canberra_distance_f16() 86 c = vabdq(a, b); in arm_canberra_distance_f16() 88 a = vabsq(a); in arm_canberra_distance_f16() 90 a = vaddq(a, b); in arm_canberra_distance_f16() 95 a = vrecip_hiprec_f16(a); in arm_canberra_distance_f16() 101 a = vdupq_m_n_f16(a, 0.0f, vcmpeqq(a, 0.0f)); in arm_canberra_distance_f16() 102 c = vmulq(c, a); in arm_canberra_distance_f16() 114 a = vldrhq_z_f16(pA, p0); in arm_canberra_distance_f16() 117 c = vabdq(a, b); in arm_canberra_distance_f16() [all …]
|
| D | arm_boolean_distance_template.h | 117 uint32_t a, b, ba, bb; in FUNC() local 164 a = *pA++; in FUNC() 169 ba = a & 1; in FUNC() 171 a = a >> 1; in FUNC() 192 a = *pA++; in FUNC() 195 a = a >> (32 - blkCnt); in FUNC() 200 ba = a & 1; in FUNC() 202 a = a >> 1; in FUNC() 268 uint32_t a,b,ba,bb; in FUNC() local 386 a = *pA++; in FUNC() [all …]
|
| /cmsis-dsp-latest/PythonWrapper/examples/ |
| D | testdsp2.py | 24 def imToReal2D(a): argument 25 ar=np.zeros(np.array(a.shape) * [1,2]) 26 ar[::,0::2]=a.real 27 ar[::,1::2]=a.imag 33 def normalize(a): argument 34 return(a/np.max(np.abs(a))) 42 a=np.array([1.,-3.,4.,0.,-10.,8.]) variable 45 i=dsp.arm_max_f32(a) 48 i=dsp.arm_absmax_f32(a) 54 a = a / i[0] variable [all …]
|
| D | testdsp5.py | 9 def imToReal1D(a): argument 10 ar=np.zeros(np.array(a.shape) * 2) 11 ar[0::2]=a.real 12 ar[1::2]=a.imag 19 a=np.array([1.,-3.,4.,0.,-10.,8.]) variable 21 i=dsp.arm_absmax_no_idx_f32(a) 25 i=dsp.arm_absmax_no_idx_f64(a) 29 r,i=dsp.arm_absmax_f64(a) 33 r,i=dsp.arm_max_f64(a) 37 i=dsp.arm_max_no_idx_f32(a) [all …]
|
| D | testdsp.py | 144 a=np.array([[1.,2,3,4],[5,6,7,8],[9,10,11,12]]) variable 146 print(a+b) 150 v=dsp.arm_mat_add_f32(a,b) 155 a=np.array([[1.,2,3,4],[5,6,7,8],[9,10,11,12]]) variable 157 print(np.dot(a , b)) 158 v=dsp.arm_mat_mult_f32(a,b) 161 def imToReal2D(a): argument 162 ar=np.zeros(np.array(a.shape) * [1,2]) 163 ar[::,0::2]=a.real 164 ar[::,1::2]=a.imag [all …]
|
| D | testdistance.py | 6 a=[1,2,3] variable 18 ref=d.braycurtis(a,b) 19 res=dsp.arm_braycurtis_distance_f32(a,b) 26 ref=d.canberra(a,b) 27 res=dsp.arm_canberra_distance_f32(a,b) 33 ref=d.chebyshev(a,b) 34 res=dsp.arm_chebyshev_distance_f32(a,b) 39 res=dsp.arm_chebyshev_distance_f64(a,b) 44 ref=d.cityblock(a,b) 45 res=dsp.arm_cityblock_distance_f32(a,b) [all …]
|
| D | testdsp4.py | 24 a=np.array([1.,-3.,4.,0.,-10.,8.]) variable 25 i=dsp.arm_absmax_f32(a) 29 a = a / i[0] variable 31 a7 = f.toQ7(a) 32 a15 = f.toQ15(a) 33 a31 = f.toQ31(a) 48 a=np.array([1.,-3.,4.,0.5,-10.,8.]) variable 49 i=dsp.arm_absmax_f32(a) 54 a = a / i[0] variable 57 a7 = f.toQ7(a) [all …]
|
| /cmsis-dsp-latest/Source/FilteringFunctions/ |
| D | arm_levinson_durbin_f32.c | 64 float32_t *a, in arm_levinson_durbin_f32() argument 71 a[0] = phi[1] / phi[0]; in arm_levinson_durbin_f32() 73 e = phi[0] - phi[1] * a[0]; in arm_levinson_durbin_f32() 92 pA = a; in arm_levinson_durbin_f32() 121 suma += a[i] * phi[p - i]; in arm_levinson_durbin_f32() 122 sumb += a[i] * phi[i + 1]; in arm_levinson_durbin_f32() 161 vecA = vldrwq_gather_shifted_offset_f32(a,offset); in arm_levinson_durbin_f32() 171 vstrwq_scatter_shifted_offset_f32(a, offset, tmp); in arm_levinson_durbin_f32() 184 x = a[j] - k * a[p-1-j]; in arm_levinson_durbin_f32() 185 y = a[p-1-j] - k * a[j]; in arm_levinson_durbin_f32() [all …]
|
| D | arm_levinson_durbin_q31.c | 39 __STATIC_FORCEINLINE q31_t mul32x16(q31_t a, q15_t b) in mul32x16() argument 41 q31_t r = ((q63_t)a * (q63_t)b) >> 15; in mul32x16() 47 __STATIC_FORCEINLINE q31_t mul32x32(q31_t a, q31_t b) in mul32x32() argument 50 q31_t r = ((q63_t)a * b) >> 31; in mul32x32() 121 q31_t *a, in arm_levinson_durbin_q31() argument 130 a[0] = divide(phi[1], phi[0]); in arm_levinson_durbin_q31() 134 e = phi[0] - mul32x32(phi[1],a[0]); in arm_levinson_durbin_q31() 153 pA = a; in arm_levinson_durbin_q31() 179 suma += ((q63_t)a[i] * phi[p - i]); in arm_levinson_durbin_q31() 180 sumb += ((q63_t)a[i] * phi[i + 1]); in arm_levinson_durbin_q31() [all …]
|
| D | arm_levinson_durbin_f16.c | 61 float16_t *a, in arm_levinson_durbin_f16() argument 68 a[0] = (_Float16)phi[1] / (_Float16)phi[0]; in arm_levinson_durbin_f16() 70 e = (_Float16)phi[0] - (_Float16)phi[1] * (_Float16)a[0]; in arm_levinson_durbin_f16() 89 pA = a; in arm_levinson_durbin_f16() 118 suma += (_Float16)a[i] * (_Float16)phi[p - i]; in arm_levinson_durbin_f16() 119 sumb += (_Float16)a[i] * (_Float16)phi[i + 1]; in arm_levinson_durbin_f16() 158 vecA = vldrhq_gather_shifted_offset_f16(a,offset); in arm_levinson_durbin_f16() 168 vstrhq_scatter_shifted_offset_f16(a, offset, tmp); in arm_levinson_durbin_f16() 185 x=(_Float16)a[j] - (_Float16)k * (_Float16)a[p-1-j]; in arm_levinson_durbin_f16() 186 y=(_Float16)a[p-1-j] - (_Float16)k * (_Float16)a[j]; in arm_levinson_durbin_f16() [all …]
|
| /cmsis-dsp-latest/dsppp/Include/dsppp/Helium/ |
| D | float.hpp | 153 __STATIC_FORCEINLINE float32x4_t vneg(const float32x4_t a) in vneg() argument 155 return(vnegq(a)); in vneg() 166 __STATIC_FORCEINLINE float32x4_t vneg(const float32x4_t a, in vneg() argument 169 return(vnegq_x(a,p0)); in vneg() 180 __STATIC_FORCEINLINE float32x4_t vadd(const float32x4_t a,const float32x4_t b) in vadd() argument 182 return(vaddq(a,b)); in vadd() 193 __STATIC_FORCEINLINE float32x4_t vadd(const float32x4_t a,const float b) in vadd() argument 195 return(vaddq_n_f32(a,b)); in vadd() 206 __STATIC_FORCEINLINE float32x4_t vadd(const float a,const float32x4_t b) in vadd() argument 208 return(vaddq_n_f32(b,a)); in vadd() [all …]
|
| D | q31.hpp | 84 __STATIC_FORCEINLINE int32x4_t vneg(const int32x4_t a) in vneg() argument 86 return(vqnegq(a)); in vneg() 89 __STATIC_FORCEINLINE int32x4_t vneg(const int32x4_t a, in vneg() argument 92 return(vqnegq_m(vuninitializedq_s32(),a,p0)); in vneg() 95 __STATIC_FORCEINLINE int32x4_t vadd(const int32x4_t a,const int32x4_t b) in vadd() argument 97 return(vqaddq(a,b)); in vadd() 100 __STATIC_FORCEINLINE int32x4_t vadd(const int32x4_t a,const Q31 b) in vadd() argument 102 return(vqaddq_n_s32(a,b.v)); in vadd() 105 __STATIC_FORCEINLINE int32x4_t vadd(const Q31 a,const int32x4_t b) in vadd() argument 107 return(vqaddq_n_s32(b,a.v)); in vadd() [all …]
|
| D | half.hpp | 142 __STATIC_FORCEINLINE float16x8_t vneg(const float16x8_t a) in vneg() argument 144 return(vnegq(a)); in vneg() 155 __STATIC_FORCEINLINE float16x8_t vneg(const float16x8_t a, in vneg() argument 158 return(vnegq_x(a,p0)); in vneg() 175 __STATIC_FORCEINLINE float16x8_t vadd(const float16x8_t a, in vadd() argument 178 return(vaddq(a,b)); in vadd() 189 __STATIC_FORCEINLINE float16x8_t vadd(const float16x8_t a, in vadd() argument 192 return(vaddq_n_f16(a,b)); in vadd() 203 __STATIC_FORCEINLINE float16x8_t vadd(const float16_t a, in vadd() argument 206 return(vaddq_n_f16(b,a)); in vadd() [all …]
|
| D | q15.hpp | 121 __STATIC_FORCEINLINE int16x8_t vneg(const int16x8_t a) in vneg() argument 123 return(vqnegq(a)); in vneg() 126 __STATIC_FORCEINLINE int16x8_t vneg(const int16x8_t a, in vneg() argument 129 return(vqnegq_m(vuninitializedq_s16(),a,p0)); in vneg() 132 __STATIC_FORCEINLINE int16x8_t vadd(const int16x8_t a,const int16x8_t b) in vadd() argument 134 return(vqaddq(a,b)); in vadd() 137 __STATIC_FORCEINLINE int16x8_t vadd(const int16x8_t a,const Q15 b) in vadd() argument 139 return(vqaddq_n_s16(a,b.v)); in vadd() 142 __STATIC_FORCEINLINE int16x8_t vadd(const Q15 a,const int16x8_t b) in vadd() argument 144 return(vqaddq_n_s16(b,a.v)); in vadd() [all …]
|
| D | q7.hpp | 84 __STATIC_FORCEINLINE int8x16_t vneg(const int8x16_t a) in vneg() argument 86 return(vqnegq(a)); in vneg() 89 __STATIC_FORCEINLINE int8x16_t vneg(const int8x16_t a, in vneg() argument 92 return(vqnegq_m(vuninitializedq_s8(),a,p0)); in vneg() 95 __STATIC_FORCEINLINE int8x16_t vadd(const int8x16_t a,const int8x16_t b) in vadd() argument 97 return(vqaddq(a,b)); in vadd() 100 __STATIC_FORCEINLINE int8x16_t vadd(const int8x16_t a,const Q7 b) in vadd() argument 102 return(vqaddq_n_s8(a,b.v)); in vadd() 105 __STATIC_FORCEINLINE int8x16_t vadd(const Q7 a,const int8x16_t b) in vadd() argument 107 return(vqaddq_n_s8(b,a.v)); in vadd() [all …]
|
| /cmsis-dsp-latest/dsppp/tests/ |
| D | cmsis_tests.h | 117 extern void cmsisdsp_add(const float16_t* a, 123 extern void cmsisdsp_add(const float64_t* a, 128 extern void cmsisdsp_add(const float32_t* a, 133 extern void cmsisdsp_add(const Q31* a, 138 extern void cmsisdsp_add(const Q15* a, 143 extern void cmsisdsp_add(const Q7* a, 148 extern void cmsisdsp_mat_add(const float32_t* a, 154 extern void cmsisdsp_mat_add(const float16_t* a, 160 extern void cmsisdsp_mat_add(const Q31* a, 165 extern void cmsisdsp_mat_add(const Q15* a, [all …]
|
| D | cmsisdsp.cpp | 20 void cmsisdsp_add(const float16_t* a, in cmsisdsp_add() argument 26 arm_add_f16(a,b,c,l); in cmsisdsp_add() 31 void cmsisdsp_add(const float64_t* a, in cmsisdsp_add() argument 37 arm_add_f64(a,b,c,l); in cmsisdsp_add() 41 void cmsisdsp_add(const float32_t* a, in cmsisdsp_add() argument 46 arm_add_f32(a,b,c,l); in cmsisdsp_add() 52 void cmsisdsp_add(const Q31* a, in cmsisdsp_add() argument 58 arm_add_q31(reinterpret_cast<const q31_t*>(a), in cmsisdsp_add() 64 void cmsisdsp_add(const Q15* a, in cmsisdsp_add() argument 70 arm_add_q15(reinterpret_cast<const q15_t*>(a), in cmsisdsp_add() [all …]
|
| D | common_tests.h | 102 bool validate(const T a, const T b, std::size_t nb,float abser = ABS_ERROR, float reler = REL_ERROR) 106 … if constexpr (number_traits<std::remove_cv_t<std::remove_reference_t<decltype(a[0])>>>::is_float) 108 if (ERROR(a[i],b[i],abser,reler) ) 110 std::cout << "Error at:" << i << " ; res=" << a[i] << " ; ref=" << b[i] << "\r\n"; 111 ERRVAL(a[i],b[i],abser,reler); 117 if (a[i]!=b[i]) 119 std::cout << "Error at:" << i << " ; res=" << a[i] << " ; ref=" << b[i] << "\r\n"; 132 bool validate(const TA &a, const TB &b,float abser = ABS_ERROR, float reler = REL_ERROR) 134 for(index_t i=0;i<a.length();i++) 138 if (ERROR(a[i],b[i],abser,reler) ) [all …]
|
| /cmsis-dsp-latest/dsppp/Include/dsppp/ |
| D | vec.hpp | 34 static type ref(const Vector_Base<T>&a){ in ref() 35 return(type(a)); in ref() 43 static type ref(const VectorView<T,S>&a){ in ref() 44 return(a); in ref() 55 … static VectorView<P,1> ref(const Vector<P,L,A>&a,typename std::enable_if<(L<0)>::type* = nullptr){ in ref() 56 return(VectorView<P,1>(a)); in ref() 66 …static const Vector<P,L,A>& ref(const Vector<P,L,A>&a,typename std::enable_if<(L>0)>::type* = null… in ref() 67 return(a); in ref() 77 static type ref(const _Binary<LHS,RHS,OP>&a){ in ref() 78 return(a); in ref() [all …]
|
| /cmsis-dsp-latest/Source/TransformFunctions/ |
| D | arm_bitreversal2.c | 50 uint64_t a, b, tmp; in arm_bitreversal_64() local 55 a = pBitRevTab[i ] >> 2; in arm_bitreversal_64() 59 tmp = pSrc[a]; in arm_bitreversal_64() 60 pSrc[a] = pSrc[b]; in arm_bitreversal_64() 64 tmp = pSrc[a+1]; in arm_bitreversal_64() 65 pSrc[a+1] = pSrc[b+1]; in arm_bitreversal_64() 89 uint32_t a, b, i, tmp; in arm_bitreversal_32() local 93 a = pBitRevTab[i ] >> 2; in arm_bitreversal_32() 97 tmp = pSrc[a]; in arm_bitreversal_32() 98 pSrc[a] = pSrc[b]; in arm_bitreversal_32() [all …]
|
| /cmsis-dsp-latest/dsppp/Include/dsppp/DSP/ |
| D | q15.hpp | 155 __STATIC_FORCEINLINE Q15DSPVector vneg(const Q15DSPVector a) in vneg() argument 157 return(Q15DSPVector(__QSUB16(0, a.v))); in vneg() 160 __STATIC_FORCEINLINE Q15DSPVector vadd(const Q15DSPVector a, in vadd() argument 163 return(Q15DSPVector(__QADD16(a.v,b.v))); in vadd() 166 __STATIC_FORCEINLINE Q15DSPVector vadd(const Q15DSPVector a, in vadd() argument 169 return(Q15DSPVector(__QADD16(a.v,vconst(b).v))); in vadd() 172 __STATIC_FORCEINLINE Q15DSPVector vadd(const Q15 a, in vadd() argument 175 return(Q15DSPVector(__QADD16(vconst(a).v,b.v))); in vadd() 178 __STATIC_FORCEINLINE Q15DSPVector vsub(const Q15DSPVector a, in vsub() argument 181 return(Q15DSPVector(__QSUB16(a.v,b.v))); in vsub() [all …]
|
| D | q7.hpp | 91 __STATIC_FORCEINLINE Q7DSPVector vneg(const Q7DSPVector a) in vneg() argument 93 return(Q7DSPVector(__QSUB8(0, a.v))); in vneg() 96 __STATIC_FORCEINLINE Q7DSPVector vadd(const Q7DSPVector a, in vadd() argument 99 return(Q7DSPVector(__QADD8(a.v,b.v))); in vadd() 102 __STATIC_FORCEINLINE Q7DSPVector vadd(const Q7DSPVector a, in vadd() argument 105 return(Q7DSPVector(__QADD8(a.v,vconst(b).v))); in vadd() 108 __STATIC_FORCEINLINE Q7DSPVector vadd(const Q7 a, in vadd() argument 111 return(Q7DSPVector(__QADD8(vconst(a).v,b.v))); in vadd() 114 __STATIC_FORCEINLINE Q7DSPVector vsub(const Q7DSPVector a, in vsub() argument 117 return(Q7DSPVector(__QSUB8(a.v,b.v))); in vsub() [all …]
|
| /cmsis-dsp-latest/Documentation/Doxygen/src/ |
| D | fusion.md | 4 Vector<float32_t,NB> d = a + b * c; 11 In above code, `a + b * c` is not computing anything ! 12 `a + b * c` is creating a representation of the expression : an abstract syntax tree (AST) at build… 15 … operators in one loop. The code generated thus contains only one loop with a fusion of all the op… 17 …re a view on an existing part of a vector. You can use a virtual vector for instance to read some … 21 d = a; 24 and `d` and `a` are virtual vectors then nothing will be written to `d` ! 26 `d` will becomes `a` and `a` will no more be valid. 28 If you want to copy a virtual vector you need to make an expression and write: 31 d = copy(a); [all …]
|