CMSIS-DSP  
CMSIS DSP Software Library
 
Loading...
Searching...
No Matches

Functions

template<typename T, typename DST, typename std::enable_if< IsVector< DST >::value &&compatible_element< DST, T >(), bool >::type = true>
void _Fill (DST &v, const T val, vector_length_t l, const Scalar *=nullptr)
 Fill evaluator for scalar architecture.
 
template<typename T, typename DST, typename std::enable_if< must_use_matrix_idx< DST >() &&compatible_element< DST, T >(), bool >::type = true>
void _Fill2D (DST &v, const T val, const vector_length_t rows, const vector_length_t cols, const Scalar *=nullptr)
 Fill2D evaluator for scalar architecture.
 
template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
void eval (DA &v, const DB &other, const vector_length_t l, const Scalar *=nullptr)
 Expression evaluator for vector in scalar mode.
 
template<typename DA, typename DB, typename std::enable_if< must_use_matrix_idx_pair< DA, DB >(), bool >::type = true>
void eval2D (DA &v, const DB &other, const vector_length_t rows, const vector_length_t cols, const Scalar *=nullptr)
 2D expression evaluator for scalar architecture
 
template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
DotResult< DotFieldResult< DA, DB > > _dot (const DA &a, const DB &b, const vector_length_t l, const Scalar *=nullptr)
 Dot product evaluator for scalar architectuire.
 
template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
void _swap (DA &&a, DB &&b, const vector_length_t l, const Scalar *=nullptr)
 Swap evaluator for scalar architecture.
 
template<typename MA, typename MB>
__STATIC_INLINE void _arm_mat_trans (const MA &src, MB &dst, const Scalar *=nullptr)
 Transposition for scalar architecture.
 
template<typename M, typename V, typename RES>
void _dot_m_v (RES &res, const TransposeView< M > &m, const V &v, const Scalar *=nullptr)
 Matrix times vector for scalar architecture.
 
template<typename MA, typename MB, typename RES, typename TMP, typename std::enable_if< number_traits< typename traits< MA >::Scalar >::is_fixed, bool >::type = true>
__STATIC_INLINE void _dot_m_m (const MA &pSrcA, const MB &pSrcB, RES &&pDst, const TMP &BT, const Scalar *=nullptr)
 Matrix times matrix for scalar architecture and fixed point.
 
template<typename MA, typename MB, typename RES, typename std::enable_if< is_float< MA >(), bool >::type = true>
__STATIC_INLINE void _dot_m_m (const MA &pSrcA, const MB &pSrcB, RES &&pDst, const Scalar *=nullptr)
 Matrix times matrix for scalar architecture and float.
 
template<typename MA, typename MB>
__STATIC_INLINE void _arm_mat_trans (const MA &src, MB &dst, const Scalar *=nullptr)
 Transposition for scalar architecture.
 
template<typename M, typename V, typename RES>
void _dot_m_v (RES &res, const TransposeView< M > &m, const V &v, const Scalar *=nullptr)
 Matrix times vector for scalar architecture.
 
template<typename MA, typename MB, typename RES, typename TMP, typename std::enable_if< number_traits< typename traits< MA >::Scalar >::is_fixed, bool >::type = true>
__STATIC_INLINE void _dot_m_m (const MA &pSrcA, const MB &pSrcB, RES &&pDst, const TMP &BT, const Scalar *=nullptr)
 Matrix times matrix for scalar architecture and fixed point.
 
template<typename MA, typename MB, typename RES, typename std::enable_if< is_float< MA >(), bool >::type = true>
__STATIC_INLINE void _dot_m_m (const MA &pSrcA, const MB &pSrcB, RES &&pDst, const Scalar *=nullptr)
 Matrix times matrix for scalar architecture and float.
 
template<typename T, typename DST, typename std::enable_if< IsVector< DST >::value &&compatible_element< DST, T >(), bool >::type = true>
void _Fill (DST &v, const T val, vector_length_t l, const Scalar *=nullptr)
 Fill evaluator for scalar architecture.
 
template<typename T, typename DST, typename std::enable_if< must_use_matrix_idx< DST >() &&compatible_element< DST, T >(), bool >::type = true>
void _Fill2D (DST &v, const T val, const vector_length_t rows, const vector_length_t cols, const Scalar *=nullptr)
 Fill2D evaluator for scalar architecture.
 
template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
void eval (DA &v, const DB &other, const vector_length_t l, const Scalar *=nullptr)
 Expression evaluator for vector in scalar mode.
 
template<typename DA, typename DB, typename std::enable_if< must_use_matrix_idx_pair< DA, DB >(), bool >::type = true>
void eval2D (DA &v, const DB &other, const vector_length_t rows, const vector_length_t cols, const Scalar *=nullptr)
 2D expression evaluator for scalar architecture
 
template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
DotResult< DotFieldResult< DA, DB > > _dot (const DA &a, const DB &b, const vector_length_t l, const Scalar *=nullptr)
 Dot product evaluator for scalar architectuire.
 
template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
void _swap (DA &&a, DB &&b, const vector_length_t l, const Scalar *=nullptr)
 Swap evaluator for scalar architecture.
 

Description

Function Documentation

◆ _arm_mat_trans() [1/2]

template<typename MA, typename MB>
__STATIC_INLINE void _arm_mat_trans ( const MA & src,
MB & dst,
const Scalar * = nullptr )

Transposition for scalar architecture.

Parameters
[in]srcThe source
dstThe destination
Template Parameters
MASource datatype
MBDestination datatype

◆ _arm_mat_trans() [2/2]

template<typename MA, typename MB>
__STATIC_INLINE void _arm_mat_trans ( const MA & src,
MB & dst,
const Scalar * = nullptr )

Transposition for scalar architecture.

Parameters
[in]srcThe source
dstThe destination
Template Parameters
MASource datatype
MBDestination datatype

◆ _dot() [1/2]

template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
DotResult< DotFieldResult< DA, DB > > _dot ( const DA & a,
const DB & b,
const vector_length_t l,
const Scalar * = nullptr )
inline

Dot product evaluator for scalar architectuire.

Parameters
[in]aLeft hand side
[in]bRight hand side
[in]lVector length
Template Parameters
DALeft hand side datatype (may be expression)
DBRight hand side datatype (may be expression)
<unnamed>Check vector expressions are compatible
Returns
Dot product result

◆ _dot() [2/2]

template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
DotResult< DotFieldResult< DA, DB > > _dot ( const DA & a,
const DB & b,
const vector_length_t l,
const Scalar * = nullptr )
inline

Dot product evaluator for scalar architectuire.

Parameters
[in]aLeft hand side
[in]bRight hand side
[in]lVector length
Template Parameters
DALeft hand side datatype (may be expression)
DBRight hand side datatype (may be expression)
<unnamed>Check vector expressions are compatible
Returns
Dot product result

◆ _dot_m_m() [1/4]

template<typename MA, typename MB, typename RES, typename std::enable_if< is_float< MA >(), bool >::type = true>
__STATIC_INLINE void _dot_m_m ( const MA & pSrcA,
const MB & pSrcB,
RES && pDst,
const Scalar * = nullptr )

Matrix times matrix for scalar architecture and float.

Parameters
[in]pSrcAThe source a
[in]pSrcBThe source b
pDstThe destination
Template Parameters
MALeft hand side datatype
MBRight hand side datatype
RESResult datatype
<unnamed>Check if float

◆ _dot_m_m() [2/4]

template<typename MA, typename MB, typename RES, typename TMP, typename std::enable_if< number_traits< typename traits< MA >::Scalar >::is_fixed, bool >::type = true>
__STATIC_INLINE void _dot_m_m ( const MA & pSrcA,
const MB & pSrcB,
RES && pDst,
const TMP & BT,
const Scalar * = nullptr )

Matrix times matrix for scalar architecture and fixed point.

Parameters
[in]pSrcAThe source a
[in]pSrcBThe source b
pDstThe destination
[in]BTTemporary matrix for transposition
Template Parameters
MALeft hand side datatype
MBRight hand side datatype
RESDestination datatype
TMPTemporary matrix datatype
<unnamed>Check fixed point arithmetic used

◆ _dot_m_m() [3/4]

template<typename MA, typename MB, typename RES, typename std::enable_if< is_float< MA >(), bool >::type = true>
__STATIC_INLINE void _dot_m_m ( const MA & pSrcA,
const MB & pSrcB,
RES && pDst,
const Scalar * = nullptr )

Matrix times matrix for scalar architecture and float.

Parameters
[in]pSrcAThe source a
[in]pSrcBThe source b
pDstThe destination
Template Parameters
MALeft hand side datatype
MBRight hand side datatype
RESResult datatype
<unnamed>Check if float

◆ _dot_m_m() [4/4]

template<typename MA, typename MB, typename RES, typename TMP, typename std::enable_if< number_traits< typename traits< MA >::Scalar >::is_fixed, bool >::type = true>
__STATIC_INLINE void _dot_m_m ( const MA & pSrcA,
const MB & pSrcB,
RES && pDst,
const TMP & BT,
const Scalar * = nullptr )

Matrix times matrix for scalar architecture and fixed point.

Parameters
[in]pSrcAThe source a
[in]pSrcBThe source b
pDstThe destination
[in]BTTemporary matrix for transposition
Template Parameters
MALeft hand side datatype
MBRight hand side datatype
RESDestination datatype
TMPTemporary matrix datatype
<unnamed>Check fixed point arithmetic used

◆ _dot_m_v() [1/2]

template<typename M, typename V, typename RES>
void _dot_m_v ( RES & res,
const TransposeView< M > & m,
const V & v,
const Scalar * = nullptr )
inline

Matrix times vector for scalar architecture.

Parameters
resDestination
[in]mMatrix
[in]vVector (my be expression)
Template Parameters
MMatrix datatype
VVector datatype
RESResult datatype

◆ _dot_m_v() [2/2]

template<typename M, typename V, typename RES>
void _dot_m_v ( RES & res,
const TransposeView< M > & m,
const V & v,
const Scalar * = nullptr )
inline

Matrix times vector for scalar architecture.

Parameters
resDestination
[in]mMatrix
[in]vVector (my be expression)
Template Parameters
MMatrix datatype
VVector datatype
RESResult datatype

◆ _Fill() [1/2]

template<typename T, typename DST, typename std::enable_if< IsVector< DST >::value &&compatible_element< DST, T >(), bool >::type = true>
void _Fill ( DST & v,
const T val,
vector_length_t l,
const Scalar * = nullptr )
inline

Fill evaluator for scalar architecture.

Parameters
vDestination vector
[in]valInitialization value
[in]lLength of vector
Template Parameters
TScalar datatype
DSTVEctor / Matrix datatype
<unnamed>Test to restrict to vector addressing and compatible datatype

◆ _Fill() [2/2]

template<typename T, typename DST, typename std::enable_if< IsVector< DST >::value &&compatible_element< DST, T >(), bool >::type = true>
void _Fill ( DST & v,
const T val,
vector_length_t l,
const Scalar * = nullptr )
inline

Fill evaluator for scalar architecture.

Parameters
vDestination vector
[in]valInitialization value
[in]lLength of vector
Template Parameters
TScalar datatype
DSTVEctor / Matrix datatype
<unnamed>Test to restrict to vector addressing and compatible datatype

◆ _Fill2D() [1/2]

template<typename T, typename DST, typename std::enable_if< must_use_matrix_idx< DST >() &&compatible_element< DST, T >(), bool >::type = true>
void _Fill2D ( DST & v,
const T val,
const vector_length_t rows,
const vector_length_t cols,
const Scalar * = nullptr )
inline

Fill2D evaluator for scalar architecture.

Parameters
vMatrix value
[in]valInitialization value
[in]rowsNumber of rows
[in]colsNumber of columns
Template Parameters
TScalar datatype
DSTMatrix datatype
<unnamed>Check DST has matrix indexing only

◆ _Fill2D() [2/2]

template<typename T, typename DST, typename std::enable_if< must_use_matrix_idx< DST >() &&compatible_element< DST, T >(), bool >::type = true>
void _Fill2D ( DST & v,
const T val,
const vector_length_t rows,
const vector_length_t cols,
const Scalar * = nullptr )
inline

Fill2D evaluator for scalar architecture.

Parameters
vMatrix value
[in]valInitialization value
[in]rowsNumber of rows
[in]colsNumber of columns
Template Parameters
TScalar datatype
DSTMatrix datatype
<unnamed>Check DST has matrix indexing only

◆ _swap() [1/2]

template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
void _swap ( DA && a,
DB && b,
const vector_length_t l,
const Scalar * = nullptr )
inline

Swap evaluator for scalar architecture.

Parameters
aLeft hand side
bRight hand side
[in]lVector length
Template Parameters
DALeft hand side datatype
DBRight hand side datatype
<unnamed>Check vectors are compatible

◆ _swap() [2/2]

template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
void _swap ( DA && a,
DB && b,
const vector_length_t l,
const Scalar * = nullptr )
inline

Swap evaluator for scalar architecture.

Parameters
aLeft hand side
bRight hand side
[in]lVector length
Template Parameters
DALeft hand side datatype
DBRight hand side datatype
<unnamed>Check vectors are compatible

◆ eval() [1/2]

template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
void eval ( DA & v,
const DB & other,
const vector_length_t l,
const Scalar * = nullptr )
inline

Expression evaluator for vector in scalar mode.

Parameters
vVector
[in]otherExpression
[in]lLength of expression (number of samples)
Template Parameters
DADestination datatype
DBSource datatype
<unnamed>Check vectors are compatible

◆ eval() [2/2]

template<typename DA, typename DB, typename std::enable_if< vector_idx_pair< DA, DB >(), bool >::type = true>
void eval ( DA & v,
const DB & other,
const vector_length_t l,
const Scalar * = nullptr )
inline

Expression evaluator for vector in scalar mode.

Parameters
vVector
[in]otherExpression
[in]lLength of expression (number of samples)
Template Parameters
DADestination datatype
DBSource datatype
<unnamed>Check vectors are compatible

◆ eval2D() [1/2]

template<typename DA, typename DB, typename std::enable_if< must_use_matrix_idx_pair< DA, DB >(), bool >::type = true>
void eval2D ( DA & v,
const DB & other,
const vector_length_t rows,
const vector_length_t cols,
const Scalar * = nullptr )
inline

2D expression evaluator for scalar architecture

Parameters
vDestination value
[in]otherThe expression
[in]rowsNumber of rows
[in]colsNumber of columns
Template Parameters
DADestination datatype
DBSource datatype
<unnamed>Check only support matrix indexing

◆ eval2D() [2/2]

template<typename DA, typename DB, typename std::enable_if< must_use_matrix_idx_pair< DA, DB >(), bool >::type = true>
void eval2D ( DA & v,
const DB & other,
const vector_length_t rows,
const vector_length_t cols,
const Scalar * = nullptr )
inline

2D expression evaluator for scalar architecture

Parameters
vDestination value
[in]otherThe expression
[in]rowsNumber of rows
[in]colsNumber of columns
Template Parameters
DADestination datatype
DBSource datatype
<unnamed>Check only support matrix indexing