template<typename arch, typename ... E>
struct vector_traits< std::tuple< E... >, arch >
Tuple of compatible vectors.
- Template Parameters
-
| 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.
|
| |