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