/cmsis-dsp-latest/dsppp/tests/ |
D | matrix_test.cpp | 24 template<typename T> 73 template<typename T> 95 constexpr static float abserr_cholesky = 3e-4; 96 constexpr static float relerr_cholesky = 1e-4; 112 constexpr static float abserr_cholesky = 3e-4; 113 constexpr static float relerr_cholesky = 1e-4; 120 constexpr static float abserr_inv = 4.0e-6; 121 constexpr static float relerr_inv = 5.0e-6; 130 constexpr static float abserr_cholesky = 2e-1; 131 constexpr static float relerr_cholesky = 2e-1; [all …]
|
D | vector_test.cpp | 16 template<typename T,int NB> 19 std::cout << "----\r\n" << "N = " << NB << "\r\n"; in test() 21 PVector<T,NB> a; in test() 22 PVector<T,NB> b; in test() 24 PVector<T> a(NB); in test() 25 PVector<T> b(NB); in test() 36 PVector<T,NB> res = a + b; in test() 38 PVector<T> res = copy(a + b); in test() 48 PVector<T,NB> ref; in test() 50 PVector<T> ref(NB); in test() [all …]
|
D | dot_test.cpp | 22 template<typename T,int NB,typename O> 23 static void complex_test(const T scale) in complex_test() 25 std::cout << "----\r\n" << "N = " << NB << "\r\n"; in complex_test() 27 PVector<T,NB> a; in complex_test() 28 PVector<T,NB> b; in complex_test() 29 PVector<T,NB> c; in complex_test() 30 PVector<T,NB> d; in complex_test() 32 PVector<T,NB> res; in complex_test() 34 PVector<T> a(NB); in complex_test() 35 PVector<T> b(NB); in complex_test() [all …]
|
D | row_test.cpp | 20 template<typename T,int R,int C> 23 constexpr int NBOUT = C-1; in test() 24 std::cout << "----\r\n"; in test() 29 PMat<T,R,C> a; in test() 31 PMat<T> a(R,C); in test() 41 PVector<T,NBOUT> res = a.row(0,1) + a.row(1,1); in test() 43 PVector<T> res = a.row(0,1) + a.row(1,1); in test() 50 PVector<T,NBOUT> da (a.row(0,1)); in test() 51 PVector<T,NBOUT> db (a.row(1,1)); in test() 52 PVector<T,NBOUT> ref; in test() [all …]
|
D | fusion_test.cpp | 19 template<typename T,int NB> 22 std::cout << "----\r\n" << "N = " << NB << "\r\n"; in test() 25 PVector<T,NB> a; in test() 26 PVector<T,NB> b; in test() 27 PVector<T,NB> c; in test() 29 PVector<T> a(NB); in test() 30 PVector<T> b(NB); in test() 31 PVector<T> c(NB); in test() 40 PVector<T,NB> resa; in test() 41 PVector<T,NB> resb; in test() [all …]
|
D | filter_test.cpp | 19 #define MVE_ASRL_SAT16(acc, shift) ((sqrshrl_sat48(acc, -(32-shift)) >> 32) & 0xffffffff) 37 q15_t *pState = S->pState; /* State pointer */ \ 38 const q15_t *pCoeffs = S->pCoeffs; /* Coefficient pointer */ \ 44 uint32_t numTaps = S->numTaps; /* Number of filter coefficients in the filter */\ 57 * pState points to state array which contains previous frame (numTaps - 1) samples \ 60 pStateCur = &(pState[(numTaps - 1u)]); \ 77 blkCnt--; \ 95 blkCnt = (numTaps - 1) >> 3; \ 101 blkCnt--; \ 103 blkCnt = (numTaps - 1) & 7; \ [all …]
|
D | col_test.cpp | 20 template<typename T,int R,int C> 23 std::cout << "----\r\n"; in test() 27 PMat<T,R,C> a; in test() 28 PVector<T,R> ref; in test() 30 PMat<T> a(R,C); in test() 31 PVector<T> ref(R); in test() 42 PVector<T,R> res = copy(a.col(4)); in test() 44 PVector<T> res = copy(a.col(4)); in test() 69 template<typename T> 72 const int nb_tails = TailForTests<T>::tail; in all_col_test() [all …]
|
/cmsis-dsp-latest/dsppp/Include/dsppp/ |
D | matrix_view.hpp | 1 // -*- C++ -*- 28 * @tparam T Type of the scalar 31 template<typename T,int S=1> 54 explicit MatrixView(T* v, in MatrixView() 64 explicit MatrixView(const Vector_Base<T> &v, in MatrixView() 89 T& operator()(const index_t r,const index_t c) in operator ()() 100 T const operator()(const index_t r,const index_t c) const in operator ()() 124 MatrixView& operator=(const T val) in operator =() 162 MatrixView& operator +=(const T other) in operator +=() 175 MatrixView& operator -=(const _Expr<Derived>& other) in operator -=() [all …]
|
D | vector_view.hpp | 1 // -*- C++ -*- 26 * @tparam T Type of the scalar 29 template<typename T,int stride=1> 50 return(1+(stop-1 -start)/stride); in compute_length() 60 explicit VectorView(T *v,const vector_length_t start,const vector_length_t stop): in VectorView() 68 explicit VectorView(const Vector_Base<T> &v): in VectorView() 78 explicit VectorView(const Vector_Base<T> &v,const index_t start,const index_t stop): in VectorView() 94 T* ptr() const {return(v_);} in ptr() 104 T* ptr(const index_t i) const {return(&v_[i*stride]);} in ptr() 111 const T* const_ptr() const {return(v_);} in const_ptr() [all …]
|
D | fusion_ops.hpp | 1 // -*- C++ -*- 24 return(this->derived()(lhs)); in operator ()() 33 return(this->derived()(lhs)); in operator ()() 41 template<typename T=Scalar, 42 typename std::enable_if<vector_traits<T>::has_predicate,bool>::type = true> 45 return(this->derived()(lhs,p0)); in operator ()() 51 return(this->derived().to_vector(lhs)); 73 return(this->derived()(lhs,rhs)); in operator ()() 84 return(this->derived()(lhs,rhs)); in operator ()() 90 return(this->derived()(lhs,rhs)); in operator ()() [all …]
|
D | number.hpp | 1 // -*- C++ -*- 32 return ((1<<shift)-1); in maskFromShift() 43 * @tparam T datatype 51 template<typename T> 66 * @tparam T Type of the scalar 71 template<typename T,typename arch = ARCH,typename = void> 73 typedef T type; //!< Scalar datatype 74 typedef T storage_type; //!< Storage type (for instance for Q15 scalar the storage is int16_t) 84 * @tparam T Storage datatype 86 template<int M, int F, bool S,typename T> [all …]
|
D | forward.hpp | 1 // -*- C++ -*- 10 template<typename T,int stride> 21 template<typename T,int S> 24 template<typename T> 27 template<typename T> 78 template<typename T> 92 template<typename T> 106 template<typename T> 125 template<typename T> 132 template<typename T> [all …]
|
/cmsis-dsp-latest/dsppp/Include/dsppp/Helium/ |
D | matrix_multiply_fixed.hpp | 1 // -*- C++ -*- 19 #define MVE_ASRL_SAT16(acc, shift) ((sqrshrl_sat48(acc, -(32-shift)) >> 32) & 0xffffffff) 33 using T = typename traits<MA>::Scalar; in arm_mat_mult_2x2_mve() typedef 34 using ACC = typename vector_traits<T>::temp_accumulator; in arm_mat_mult_2x2_mve() 35 using VEC = typename vector_traits<T>::vector; in arm_mat_mult_2x2_mve() 37 const T *pInB = pSrcB.const_ptr(); /* input data matrix pointer B */ in arm_mat_mult_2x2_mve() 38 const T *pInA = pSrcA.const_ptr(); /* input data matrix pointer A */ in arm_mat_mult_2x2_mve() 39 T *pOut = pDst.ptr(); /* output data matrix pointer */ in arm_mat_mult_2x2_mve() 40 const T *pInA0 = pInA; in arm_mat_mult_2x2_mve() 41 const T *pInA1 = pInA0 + pSrcA.stride(); in arm_mat_mult_2x2_mve() [all …]
|
D | basic.hpp | 1 // -*- C++ -*- 28 * @tparam T Scalar datatype 32 template<typename T,typename DST, 35 SameElementType<DST,T>::value,bool>::type = true> 37 const T val, in _Fill() 41 constexpr int nb_lanes = vector_traits<T>::nb_lanes; in _Fill() 46 v.vector_store_tail(i,l-i,inner::vconst_tail(val,inner::vctpq<T>::mk(l-i))); in _Fill() 58 * @tparam T Scalar datatype 62 template<typename T,typename DST, 65 SameElementType<DST,T>::value,bool>::type = true> [all …]
|
D | matrix_multiply.hpp | 1 // -*- C++ -*- 29 for(; row<=nb_rows-U; row += U) in _dot_m_v() 38 switch (nb_rows-row) in _dot_m_v() 89 using T = typename traits<MA>::Scalar; 90 using ACC = typename vector_traits<T>::temp_accumulator; 91 using VEC = typename vector_traits<T>::vector; 92 constexpr int nb_lanes = vector_traits<T>::nb_lanes; 94 T *pInB = pSrcB.ptr(); /* input data matrix pointer B */ 95 T *pInA = pSrcA.ptr(); /* input data matrix pointer A */ 96 T *pOut = pDst.ptr(); /* output data matrix pointer */ [all …]
|
/cmsis-dsp-latest/Source/DistanceFunctions/ |
D | arm_dtw_distance_f32.c | 2 /* ---------------------------------------------------------------------- 5 * Description: Bray-Curtis distance between two vectors 10 * Target Processor: Cortex-M and Cortex-A cores 11 * -------------------------------------------------------------------- */ 13 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 15 * SPDX-License-Identifier: Apache-2.0 21 * www.apache.org/licenses/LICENSE-2.0 36 (*((MAT)->pData + (MAT)->numCols*(R) + (C))) 40 ((*((pWindow)->pData + (pWindow)->numCols*(R) + (C)))==1)) 91 const uint32_t queryLength = pDistance -> numRows; in arm_dtw_distance_f32() [all …]
|
D | arm_dtw_init_window_q7.c | 2 /* ---------------------------------------------------------------------- 10 * Target Processor: Cortex-M and Cortex-A cores 11 * -------------------------------------------------------------------- */ 13 * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. 15 * SPDX-License-Identifier: Apache-2.0 21 * www.apache.org/licenses/LICENSE-2.0 64 const int32_t queryLength = pWindow -> numRows; in arm_dtw_init_window_q7() 65 const int32_t templateLength = pWindow -> numCols; in arm_dtw_init_window_q7() 73 for(int32_t t = 0; t < templateLength; t++) in arm_dtw_init_window_q7() local 75 pWindow->pData[templateLength*q + t] = (q7_t)(abs(q-t) <= windowSize); in arm_dtw_init_window_q7() [all …]
|
D | arm_jensenshannon_distance_f32.c | 2 /* ---------------------------------------------------------------------- 5 * Description: Jensen-Shannon distance between two vectors 10 * Target Processor: Cortex-M and Cortex-A cores 11 * -------------------------------------------------------------------- */ 13 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 15 * SPDX-License-Identifier: Apache-2.0 21 * www.apache.org/licenses/LICENSE-2.0 58 f32x4_t a, b, t, tmpV, accumV; in arm_jensenshannon_distance_f32() local 67 t = vaddq(a, b); in arm_jensenshannon_distance_f32() 68 t = vmulq(t, 0.5f); in arm_jensenshannon_distance_f32() [all …]
|
D | arm_dtw_path_f32.c | 2 /* ---------------------------------------------------------------------- 10 * Target Processor: Cortex-M and Cortex-A cores 11 * -------------------------------------------------------------------- */ 13 * Copyright (C) 2010-2022 ARM Limited or its affiliates. All rights reserved. 15 * SPDX-License-Identifier: Apache-2.0 21 * www.apache.org/licenses/LICENSE-2.0 35 (*((MAT)->pData + (MAT)->numCols*(R) + (C))) 70 int q,t; in arm_dtw_path_f32() local 74 q=pDTW->numRows-1; in arm_dtw_path_f32() 75 t=pDTW->numCols-1; in arm_dtw_path_f32() [all …]
|
/cmsis-dsp-latest/Source/TransformFunctions/ |
D | arm_cfft_radix2_q15.c | 1 /* ---------------------------------------------------------------------- 4 * Description: Radix-2 Decimation in Frequency CFFT & CIFFT Fixed point processing function 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 56 @brief Processing function for the fixed-point CFFT/CIFFT. 58 @param[in] S points to an instance of the fixed-point CFFT/CIFFT structure 59 …t] pSrc points to the complex data buffer of size <code>2*fftLen</code>. Processing occurs in-place [all …]
|
D | arm_cfft_radix4_q15.c | 1 /* ---------------------------------------------------------------------- 4 * Description: This file has function definition of Radix-4 FFT & IFFT function and 5 * In-place bit reversal using bit reversal table 10 * Target Processor: Cortex-M and Cortex-A cores 11 * -------------------------------------------------------------------- */ 13 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. 15 * SPDX-License-Identifier: Apache-2.0 21 * www.apache.org/licenses/LICENSE-2.0 61 @param[in,out] pSrc points to the complex data buffer. Processing occurs in-place. 70 | --------: | ------------: | ------------: | ------------------------: | [all …]
|
/cmsis-dsp-latest/dsppp/Include/dsppp/Neon/ |
D | basic.hpp | 1 // -*- C++ -*- 10 template<typename T> 11 void _Add(const T* pSrcA, 12 const T* pSrcB, 13 T* pDst, 16 typename std::enable_if<number_traits<T>::is_float && 17 vector_traits<T,Neon>::has_vector,T>::type* = nullptr) 19 using num = vector_traits<T,Neon>; 52 blkCnt--; 66 blkCnt--; [all …]
|
/cmsis-dsp-latest/Testing/FrameworkInclude/ |
D | Error.h | 1 /* ---------------------------------------------------------------------- 9 * Target Processor: Cortex-M cores 10 * -------------------------------------------------------------------- */ 12 * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved. 14 * SPDX-License-Identifier: Apache-2.0 20 * www.apache.org/licenses/LICENSE-2.0 58 this->errorID = id; in Error() 59 this->lineNumber = nb; in Error() 60 this->details[0]='\0'; in Error() 65 this->errorID = id; in Error() [all …]
|
/cmsis-dsp-latest/dsppp/Include/dsppp/DSP/ |
D | matrix_multiply.hpp | 1 // -*- C++ -*- 29 using T = typename traits<MA>::Scalar; in _arm_mat_trans() typedef 30 using VEC = typename vector_traits<T>::vector; in _arm_mat_trans() 31 constexpr int nb_lanes = vector_traits<T>::nb_lanes; in _arm_mat_trans() 33 T *pIn = src.ptr(); /* input data matrix pointer */ in _arm_mat_trans() 34 T *pOut = dst.ptr(); /* output data matrix pointer */ in _arm_mat_trans() 83 col--; in _arm_mat_trans() 87 col = nCols & (2*nb_lanes-1); in _arm_mat_trans() 97 col--; in _arm_mat_trans() 100 pIn += (src.stride()-nCols); in _arm_mat_trans() [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 …]
|