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 >::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.
|
|