Namespaces | |
| namespace | inner |
| namespace | arm_cmsis_dsp::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... | |
| 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... | |
| struct | vctpq< std::tuple< E... > > |
| Tuple of predicates. More... | |
Tuples of numbers or expressions used for unrolling
Tuples of numbers or expressions used for unrolling
| struct number_traits< std::tuple< E... > > |
Number description for a tuple of numbers.
| E | Datatype 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. | |
|
inlinestatic |
Return of tuples of one values.
| struct vector_traits< std::tuple< E... >, arch > |
Tuple of compatible vectors.
| arch | Current architecture |
| E | List 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 >::real_vector... > | real_vector |
| Real 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. | |
|
inlinestatic |
Zero represented with temp accumulator datatype.
| struct arm_cmsis_dsp::number_traits< std::tuple< E... > > |
Number description for a tuple of numbers.
| E | Datatype 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. | |
|
inlinestatic |
Return of tuples of one values.
| struct arm_cmsis_dsp::vector_traits< std::tuple< E... >, arch > |
Tuple of compatible vectors.
| arch | Current architecture |
| E | List 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 >::real_vector... > | real_vector |
| Real vector datatype. | |
| typedef std::tuple< typename vector_traits< E, arch >::predicate_t... > | predicate_t |
| Predicate datatype. | |
| typedef std::tuple< E... > | type |
| Scalar datatype. | |
| typedef std::tuple< E... > | storage_type |
| Storage type (for instance for Q15 scalar the storage is int16_t) | |
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. | |
| static constexpr bool | has_vector |
| True if scalar type has a related vector type. | |
| static constexpr bool | is_float |
| True if scalar type is a float (half, float or double) | |
| static constexpr bool | is_fixed |
| True if scalar type is fixed point. | |
|
inlinestatic |
Zero represented with temp accumulator datatype.
| struct arm_cmsis_dsp::inner::vctpq< std::tuple< E... > > |
Tuple of predicates.
| E | Tuple of datatypes |
The datatypes must be coherent (same number of lanes). The first element is used to infer the vctpq instruction to use
Static Public Member Functions | |
| static auto | mk (const uint32_t v) |
| Make a predicate for predicated loop. | |
|
inlinestatic |
Make a predicate for predicated loop.
| [in] | v | Remaining number of iterations |