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

Namespaces

namespace  inner
 

Data Structures

struct  number_traits< std::tuple< E... > >
 Number description for a tuple of numbers. More...
 
struct  vector_traits< std::tuple< E... >, arch >
 Tuple of compatible vectors. More...
 

Description

Tuples of numbers or expressions used for unrolling


Data Structure Documentation

◆ number_traits< std::tuple< E... > >

struct number_traits< std::tuple< E... > >
template<typename ... E>
struct number_traits< std::tuple< E... > >

Number description for a tuple of numbers.

Template Parameters
EDatatype for all numbers

Public Types

typedef std::tuple< typename number_traits< E >::accumulator... > accumulator
 Tuple of accumulator datatype for the accumulator type.
 
typedef std::tuple< typename number_traits< E >::compute_type... > compute_type
 Tuple of compute datatype for the compute type.
 

Static Public Member Functions

static std::tuple< typename number_traits< E >::accumulator... > one ()
 Return of tuples of one values.
 

Static Public Attributes

static constexpr bool is_float = false
 It is not a float number.
 
static constexpr bool is_fixed = false
 It is not a fixed point number.
 

Member Function Documentation

◆ one()

static std::tuple< typename number_traits< E >::accumulator... > one ( )
inlinestatic

Return of tuples of one values.

Returns
Tuples of one values with different datatypes

◆ vector_traits< std::tuple< E... >, arch >

struct vector_traits< std::tuple< E... >, arch >
template<typename arch, typename ... E>
struct vector_traits< std::tuple< E... >, arch >

Tuple of compatible vectors.

Template Parameters
archCurrent architecture
EList of vector dataypes

The vector datatypes must be coherent : have same number of lanes or same lane datatype

Public Types

using RefScalar = typename std::tuple_element< 0, std::tuple< E... > >::type
 First element of tuple defines the scalar datatype.
 
typedef std::tuple< typename vector_traits< E, arch >::temp_accumulator... > temp_accumulator
 Temporary accumulator datatype.
 
typedef std::tuple< typename vector_traits< E, arch >::vector... > vector
 Vector datatype.
 
typedef std::tuple< typename vector_traits< E, arch >::predicate_t... > predicate_t
 Predicate datatype.
 

Static Public Member Functions

static temp_accumulator temp_acc_zero ()
 Zero represented with temp accumulator datatype.
 

Static Public Attributes

static constexpr int nb_lanes = vector_traits<RefScalar,arch>::nb_lanes
 Number of lanes (from RefScalar)
 
static constexpr bool has_vector = vector_traits<RefScalar,arch>::has_vector
 Has vector instructions.
 
static constexpr bool is_float = vector_traits<RefScalar,arch>::is_float
 Is a float.
 
static constexpr bool is_fixed = vector_traits<RefScalar,arch>::is_fixed
 Is fixed point.
 
static constexpr bool has_predicate = vector_traits<RefScalar,arch>::has_predicate
 Has predicated loop.
 

Member Function Documentation

◆ temp_acc_zero()

static temp_accumulator temp_acc_zero ( )
inlinestatic

Zero represented with temp accumulator datatype.

Returns
Zero represented with temp accumulator datatype