CMSIS-DSP  
CMSIS DSP Software Library
 
Loading...
Searching...
No Matches
fusion.hpp File Reference
#include "fusion_ops.hpp"

Data Structures

struct  FloatType< E >
 Check if datatype are compatible and accept mixed arithmetic complex with real. More...
 
struct  _Expr< T >
 Expression template. More...
 
struct  _Binary< LHS, RHS, DerivedOp >
 Expression for binary operator. More...
 
struct  _Unary< LHS, DerivedOp >
 Expression for unary operator. More...
 

Namespaces

namespace  arm_cmsis_dsp
 

Functions

template<typename DA >
constexpr bool has_vector_inst ()
 Determines if vector datatype supports vector instruction on a current architecture.
 
template<typename DA >
constexpr bool has_predicate ()
 Check if predicated instructions are supported.
 
template<typename DA >
constexpr bool is_mixed ()
 Check if expression contains a mix of complex / real operations.
 
template<typename A , typename B >
constexpr bool same_nb_lanes ()
 Check same number of lanes is used.
 
template<typename A >
constexpr bool is_complex ()
 Check if vector / matrix contains complex numbers.
 
template<typename A >
constexpr bool is_float ()
 Determines if datatype is a float (double, float, complex ...).
 
template<typename A >
constexpr bool is_fixed ()
 Determines if datatype is fixed (Q31,Q15, complex<Q15> ...).
 
template<typename DA >
constexpr bool has_predicate_inst ()
 Determines if datatype has predicated loop for current architecture.
 
template<typename DA >
constexpr bool is_scalar ()
 Determines if scalar datatype (not vector, vectorview, matrix, matrixview)
 
template<typename DA >
constexpr bool must_use_matrix_idx ()
 Check if datatype can only be used as a matrix (no vector addressing)
 
template<typename DA , typename DB >
constexpr bool vector_idx_pair ()
 Check if both datatype have vector indexing and are same scalar datatype.
 
template<typename DA >
constexpr bool is_only_vector ()
 Check if has vector indexing.
 
template<typename DA , typename DB >
constexpr bool must_use_matrix_idx_pair ()
 Check if datatypes have same scalar datatype and no vector indexing.
 
template<typename DA , typename DB >
constexpr vector_length_t static_length ()
 Static length.
 
template<typename DA , typename DB >
constexpr bool same_static_length ()
 Check compatibility of length.
 
template<typename VA , typename VB , typename std::enable_if< vector_idx_pair< VA, VB >() &&is_only_vector< VA >() &&is_only_vector< VB >() &&(!IsDynamic< VA >::value||!IsDynamic< VB >::value), bool >::type = true>
DotResult< DotFieldResult< VA, VB > > dot (const VA &a, const VB &b)
 Dot product.
 
template<typename VA , typename VB , typename std::enable_if< vector_idx_pair< VA, VB >() &&(!IsDynamic< VA >::value||!IsDynamic< VB >::value), bool >::type = true>
void swap (VA &&a, VB &&b)
 Swap vectors.