/cmsis-dsp-latest/Source/FilteringFunctions/ |
D | arm_levinson_durbin_q31.c | 1 /* ---------------------------------------------------------------------- 9 * Target Processor: Cortex-M and Cortex-A cores 10 * -------------------------------------------------------------------- */ 12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 14 * SPDX-License-Identifier: Apache-2.0 20 * www.apache.org/licenses/LICENSE-2.0 64 // 1 / (h + l) = 1 / h (1 - l / h) in divide() 68 // 1 / h (1 - l / h) in divide() 70 // 1 / h (2 - (l + h) / h) in divide() 71 // 1 / h (2 - d / h) in divide() [all …]
|
D | arm_levinson_durbin_f32.c | 1 /* ---------------------------------------------------------------------- 9 * Target Processor: Cortex-M and Cortex-A cores 10 * -------------------------------------------------------------------- */ 12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 14 * SPDX-License-Identifier: Apache-2.0 20 * www.apache.org/licenses/LICENSE-2.0 73 e = phi[0] - phi[1] * a[0]; in arm_levinson_durbin_f32() 74 for(int p=1; p < nbCoefs; p++) in arm_levinson_durbin_f32() local 90 pRevPhi = &phi[p-3]; in arm_levinson_durbin_f32() 95 blkCnt = p >> 2; in arm_levinson_durbin_f32() [all …]
|
D | arm_levinson_durbin_f16.c | 1 /* ---------------------------------------------------------------------- 9 * Target Processor: Cortex-M and Cortex-A cores 10 * -------------------------------------------------------------------- */ 12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 14 * SPDX-License-Identifier: Apache-2.0 20 * www.apache.org/licenses/LICENSE-2.0 70 e = (_Float16)phi[0] - (_Float16)phi[1] * (_Float16)a[0]; in arm_levinson_durbin_f16() 71 for(int p=1; p < nbCoefs; p++) in arm_levinson_durbin_f16() local 87 pRevPhi = &phi[p-7]; in arm_levinson_durbin_f16() 92 blkCnt = p >> 3; in arm_levinson_durbin_f16() [all …]
|
/cmsis-dsp-latest/dsppp/Include/dsppp/ |
D | matrix_impl.hpp | 1 // -*- C++ -*- 53 * @tparam P Type of the scalar 58 template<typename P,int R=DYNAMIC,int C=DYNAMIC, 60 struct Matrix:Vector<P,R*C,Allocator> 80 Matrix():Vector<P,R*C,Allocator>(){}; in Matrix() 85 explicit Matrix(P init_val):Vector<P,R*C,Allocator>(init_val){}; in Matrix() 95 explicit Matrix(const Matrix<P,R,C,OtherAllocator>& other):Vector<P,R*C,Allocator>() in Matrix() 111 Matrix(const _Expr<Derived>& other):Vector<P,R*C,Allocator>(other) in Matrix() 126 Matrix(const _Expr<Derived>& other):Vector<P,R*C,Allocator>() 169 MatrixView<P,C> sub(const index_t rs,const index_t cs) in sub() [all …]
|
D | vector_impl.hpp | 1 // -*- C++ -*- 35 * @tparam P Type of the scalar 37 template<typename P> 41 typedef P element_type; 55 P* ptr() const {return(values_);} in ptr() 64 P* ptr(const index_t i) const {return(&values_[i]);} in ptr() 71 const P* const_ptr() const {return(values_);} in const_ptr() 80 const P* const_ptr(const index_t i) const {return(&values_[i]);} in const_ptr() 90 P* begin() const {return(values_);} in begin() 98 P* end() const {return(values_+length_);} in end() [all …]
|
D | vec.hpp | 1 // -*- C++ -*- 49 template<typename P,int L, 51 struct VecRef<Vector<P,L,A>,(L<0)> 54 typedef VectorView<P,1> type; 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() 61 template<typename P,int L, 63 struct VecRef<Vector<P,L,A>,(L>0)> 65 typedef const Vector<P,L,A>& type; 66 …static const Vector<P,L,A>& ref(const Vector<P,L,A>&a,typename std::enable_if<(L>0)>::type* = null… in ref() [all …]
|
D | matrix.hpp | 1 // -*- C++ -*- 29 template<typename P,int R,int C, 31 struct traits<Matrix<P,R,C,A>> 33 typedef P Scalar; 35 typedef typename vector_traits<P>::vector Vector; 39 template<typename P,int S> 40 struct traits<MatrixView<P,S>> 42 typedef P Scalar; 44 typedef typename vector_traits<P>::vector Vector; 48 template<typename P,int R,int C, [all …]
|
D | algorithms.hpp | 1 // -*- C++ -*- 6 * C++ template extension to CMSIS-DSP. It is not yet part of 8 * [CMSIS-DSP github](https://github.com/ARM-software/CMSIS-DSP/tree/main/dsppp/Include) 62 template<typename P,int R, 66 SameElementType<VB,P>::value,bool>::type = true> 67 inline void _diagonal(Matrix<P,R,R,A> &v, in _diagonal() argument 74 v.row(r) = P{}; in _diagonal() 86 template<typename P,int R, 90 SameElementType<VB,P>::value,bool>::type = true> 91 inline void _fill_diagonal(Matrix<P,R,R,A> &v, in _fill_diagonal() argument [all …]
|
/cmsis-dsp-latest/dsppp/Include/dsppp/Neon/ |
D | float.hpp | 1 // -*- C++ -*- 52 inline float32x4_t vload1(const float32_t *p) in vload1() argument 54 return(vld1q(p)); in vload1() 59 inline float32x4_t vload1(const float32_t *p) in vload1() argument 62 res[0] = *p; in vload1() 63 p += S; in vload1() 65 res[1] = *p; in vload1() 66 p += S; in vload1() 68 res[2] = *p; in vload1() 69 p += S; in vload1() [all …]
|
/cmsis-dsp-latest/dsppp/Include/dsppp/DSP/ |
D | memory.hpp | 1 // -*- C++ -*- 30 const int16_t *p=reinterpret_cast<const int16_t* >(pQ15); in read_q15x2() local 33 memcpy (&val, p, 4); in read_q15x2() 35 val = (p[1] << 16) | (p[0] & 0x0FFFF) ; in read_q15x2() 48 int16_t *p=reinterpret_cast<int16_t* >(pQ15); in write_q15x2() local 51 memcpy (p, &val, 4); in write_q15x2() 53 p[0] = (int16_t)(val & 0x0FFFF); in write_q15x2() 54 p[1] = (int16_t)(val >> 16); in write_q15x2() 63 const int8_t *p=reinterpret_cast<const int8_t*>(pQ7); in read_q7x4() local 66 memcpy (&val, p, 4); in read_q7x4() [all …]
|
D | q7.hpp | 1 // -*- C++ -*- 166 inline Q7DSPVector vload1(const Q7 *p) in vload1() argument 168 return(Q7DSPVector(read_q7x4(p))); in vload1() 174 inline Q7DSPVector vload1(const Q7 *p) in vload1() argument 176 Q7 a = p[0]; in vload1() 177 Q7 b = p[S]; in vload1() 178 Q7 c = p[2*S]; in vload1() 179 Q7 d = p[3*S]; in vload1() 186 inline Q7DSPVector vload1(const Q7 *p,index_t stride) in vload1() argument 188 Q7 a = p[0]; in vload1() [all …]
|
D | q15.hpp | 1 // -*- C++ -*- 226 inline Q15DSPVector vload1(const Q15 *p) in vload1() argument 228 return(Q15DSPVector(read_q15x2(p))); in vload1() 234 inline Q15DSPVector vload1(const Q15 *p) in vload1() argument 236 Q15 a = p[0]; in vload1() 237 Q15 b = p[S]; in vload1() 244 inline Q15DSPVector vload1(const Q15 *p,index_t stride) in vload1() argument 246 Q15 a = p[0]; in vload1() 247 Q15 b = *(p+stride); in vload1() 254 inline void vstore1(Q15 *p,const Q15DSPVector val) in vstore1() argument [all …]
|
/cmsis-dsp-latest/dsppp/Include/dsppp/Helium/ |
D | q7.hpp | 1 // -*- C++ -*- 199 inline int8x16_t vload1(const Q7 *p) in vload1() argument 201 return(vld1q(reinterpret_cast<const int8_t*>(p))); in vload1() 211 inline int8x16_t vload1(const Q7 *p) in vload1() argument 217 return(vldrbq_gather_offset_s8(reinterpret_cast<const int8_t*>(p),offset)); in vload1() 222 inline int8x16_t vload1(const Q7 *p) in vload1() argument 227 res[i] = p->v; in vload1() 228 p += S; in vload1() 235 inline int8x16_t vload1(const Q7 *p,index_t stride) in vload1() argument 241 return(vldrbq_gather_offset_s8(reinterpret_cast<const int8_t*>(p),offset)); in vload1() [all …]
|
D | q15.hpp | 1 // -*- C++ -*- 236 inline int16x8_t vload1(const Q15 *p) in vload1() argument 238 return(vld1q(reinterpret_cast<const int16_t*>(p))); in vload1() 251 * @param[in] p Load address 269 inline int16x8_t vload1(const Q15 *p) in vload1() argument 274 return(vldrhq_gather_shifted_offset_s16(reinterpret_cast<const int16_t*>(p),offset)); in vload1() 279 inline int16x8_t vload1(const Q15 *p) in vload1() argument 284 res[i] = p->v; in vload1() 285 p += S; in vload1() 292 inline int16x8_t vload1(const Q15 *p,index_t stride) in vload1() argument [all …]
|
D | float.hpp | 1 // -*- C++ -*- 258 * @brief Vector - Vector 263 * @return a - b 271 * @brief Vector - Scalar 276 * @return a - b 284 * @brief Scalar - Vector 289 * @return a - b 297 * @brief Vector - Vector with predicate 303 * @return a - b 312 * @brief Vector - Scalar with predicate [all …]
|
D | half.hpp | 1 // -*- C++ -*- 399 inline float16x8_t vload1(const float16_t *p) in vload1() argument 401 return(vld1q(p)); in vload1() 406 inline float16x8_t vload1(const float16_t *p) in vload1() argument 409 return(vldrhq_gather_shifted_offset_f16(p,offset)); in vload1() 414 inline float16x8_t vload1(const float16_t *p) in vload1() argument 419 res[i] = *p; in vload1() 420 p += S; in vload1() 427 inline float16x8_t vload1(const float16_t *p,const index_t stride) in vload1() argument 433 return(vldrhq_gather_shifted_offset_f16(p,offset)); in vload1() [all …]
|
D | q31.hpp | 1 // -*- C++ -*- 199 inline int32x4_t vload1(const Q31 *p) in vload1() argument 201 return(vld1q(reinterpret_cast<const int32_t*>(p))); in vload1() 206 inline int32x4_t vload1(const Q31 *p) in vload1() argument 209 return(vldrwq_gather_shifted_offset_s32(reinterpret_cast<const int32_t*>(p),offset)); in vload1() 214 inline int32x4_t vload1(const Q31 *p,index_t stride) in vload1() argument 218 return(vldrwq_gather_shifted_offset_s32(reinterpret_cast<const int32_t*>(p),offset)); in vload1() 224 inline int32x4_t vload1_z(const Q31 *p,std::size_t nb,mve_pred16_t p0) in vload1_z() argument 227 return(vld1q_z(reinterpret_cast<const int32_t*>(p),p0)); in vload1_z() 233 inline int32x4_t vload1_z(const Q31 *p,std::size_t nb,mve_pred16_t p0) in vload1_z() argument [all …]
|
/cmsis-dsp-latest/Source/StatisticsFunctions/ |
D | arm_entropy_f32.c | 1 /* ---------------------------------------------------------------------- 9 * Target Processor: Cortex-M and Cortex-A cores 10 * -------------------------------------------------------------------- */ 12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 14 * SPDX-License-Identifier: Apache-2.0 20 * www.apache.org/licenses/LICENSE-2.0 45 * @return Entropy -Sum(p ln p) 57 float32_t accum=0.0f,p; in arm_entropy_f32() local 77 blkCnt --; in arm_entropy_f32() 86 p = *pSrcA++; in arm_entropy_f32() [all …]
|
D | arm_entropy_f16.c | 1 /* ---------------------------------------------------------------------- 9 * Target Processor: Cortex-M and Cortex-A cores 10 * -------------------------------------------------------------------- */ 12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 14 * SPDX-License-Identifier: Apache-2.0 20 * www.apache.org/licenses/LICENSE-2.0 58 * @return Entropy -Sum(p ln p) 70 _Float16 accum=0.0f16,p; in arm_entropy_f16() local 90 blkCnt --; in arm_entropy_f16() 99 p = *pSrcA++; in arm_entropy_f16() [all …]
|
/cmsis-dsp-latest/Testing/Source/Benchmarks/ |
D | UnaryF64.cpp | 43 arm_mat_inverse_f64(&this->in1,&this->out); in test_mat_inverse_f64() 48 arm_mat_cholesky_f64(&this->in1,&this->out); in test_mat_cholesky_dpo_f64() 53 arm_mat_solve_upper_triangular_f64(&this->in1,&this->in2,&this->out); in test_solve_upper_triangular_f64() 58 arm_mat_solve_lower_triangular_f64(&this->in1,&this->in2,&this->out); in test_solve_lower_triangular_f64() 67 this->nbr = *it++; in setUp() 68 this->nbc = *it; in setUp() 74 input1.reload(UnaryF64::INPUTA_F64_ID,mgr,this->nbr*this->nbc); in setUp() 77 output.create(this->nbr*this->nbc,UnaryF64::OUT_F64_ID,mgr); in setUp() 79 this->in1.numRows = this->nbr; in setUp() 80 this->in1.numCols = this->nbc; in setUp() [all …]
|
D | UnaryF32.cpp | 44 arm_mat_scale_f32(&this->in1,0.5,&this->out); in test_mat_scale_f32() 49 arm_mat_inverse_f32(&this->in1,&this->out); in test_mat_inverse_f32() 54 arm_mat_trans_f32(&this->in1,&this->out); in test_mat_trans_f32() 59 arm_mat_cmplx_trans_f32(&this->in1,&this->out); in test_mat_cmplx_trans_f32() 64 arm_mat_add_f32(&this->in1,&this->in1,&this->out); in test_mat_add_f32() 69 arm_mat_sub_f32(&this->in1,&this->in1,&this->out); in test_mat_sub_f32() 74 arm_mat_vec_mult_f32(&this->in1, vecp, outp); in test_mat_vec_mult_f32() 79 arm_mat_cholesky_f32(&this->in1,&this->out); in test_mat_cholesky_dpo_f32() 84 arm_mat_solve_upper_triangular_f32(&this->in1,&this->in2,&this->out); in test_solve_upper_triangular_f32() 89 arm_mat_solve_lower_triangular_f32(&this->in1,&this->in2,&this->out); in test_solve_lower_triangular_f32() [all …]
|
/cmsis-dsp-latest/Testing/FrameworkSource/ |
D | FPGA.cpp | 1 /* ---------------------------------------------------------------------- 13 * Target Processor: Cortex-M cores 14 * -------------------------------------------------------------------- */ 16 * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved. 18 * SPDX-License-Identifier: Apache-2.0 24 * www.apache.org/licenses/LICENSE-2.0 59 this->m_testDesc=testDesc; in FPGA() 60 this->m_patterns=patterns; in FPGA() 62 this->currentDesc=testDesc; in FPGA() 63 this->path=new std::vector<std::string>(); in FPGA() [all …]
|
/cmsis-dsp-latest/dsppp/tests/ |
D | debug_mat.h | 1 void pmat(float32_t *p,int nbrows,int nbcols) in pmat() argument 7 printf("%f ",(double)p[c+r*nbcols]); in pmat() 14 void pvec(float32_t *p,int nb) in pvec() argument 18 printf("%f ",(double)p[c]); in pvec() 23 void pvec(Q7 *p,int nb) in pvec() argument 27 printf("%f ",(double)(1.0f*p[c].v/128.0f)); in pvec() 52 float32_t *p; in _arm_mat_qr_f32() local 54 if (pSrc->numRows < pSrc->numCols) in _arm_mat_qr_f32() 59 memcpy(pOutR->pData,pSrc->pData,pSrc->numCols * pSrc->numRows*sizeof(float32_t)); in _arm_mat_qr_f32() 60 pOutR->numCols = pSrc->numCols; in _arm_mat_qr_f32() [all …]
|
/cmsis-dsp-latest/Source/ComplexMathFunctions/ |
D | arm_cmplx_mult_cmplx_q31.c | 1 /* ---------------------------------------------------------------------- 4 * Description: Q31 complex-by-complex multiplication 9 * Target Processor: Cortex-M and Cortex-A cores 10 * -------------------------------------------------------------------- */ 12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 14 * SPDX-License-Identifier: Apache-2.0 20 * www.apache.org/licenses/LICENSE-2.0 41 @brief Q31 complex-by-complex multiplication. 65 blkCnt -= 1; in arm_cmplx_mult_cmplx_q31() 75 /* C[2 * i] = A[2 * i] * B[2 * i] - A[2 * i + 1] * B[2 * i + 1]. */ in arm_cmplx_mult_cmplx_q31() [all …]
|
D | arm_cmplx_mult_cmplx_q15.c | 1 /* ---------------------------------------------------------------------- 4 * Description: Q15 complex-by-complex multiplication 9 * Target Processor: Cortex-M and Cortex-A cores 10 * -------------------------------------------------------------------- */ 12 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 14 * SPDX-License-Identifier: Apache-2.0 20 * www.apache.org/licenses/LICENSE-2.0 41 @brief Q15 complex-by-complex multiplication. 65 blkCnt -= 1; in arm_cmplx_mult_cmplx_q15() 77 /* C[2 * i] = A[2 * i] * B[2 * i] - A[2 * i + 1] * B[2 * i + 1]. */ in arm_cmplx_mult_cmplx_q15() [all …]
|