vector_unroller.h File Reference
Defines vector unrollers.
More...
#include <cml/et/traits.h>
#include <cml/et/size_checking.h>
#include <cml/et/scalar_ops.h>
Go to the source code of this file.
|
Classes |
struct | cml::et::detail::VectorAccumulateUnroller< AccumT, OpT, LeftT, RightT > |
| Unroll a vector accumulation/reduction operator. More...
|
struct | cml::et::detail::VectorAccumulateUnroller< AccumT, OpT, LeftT, RightT >::Eval< Last, Last, true > |
| Evaluate the binary operator at element Last. More...
|
struct | cml::et::detail::VectorAccumulateUnroller< AccumT, OpT, LeftT, RightT >::Eval< N, Last, false > |
| Evaluate using a loop. More...
|
struct | cml::et::detail::VectorAccumulateUnroller< AccumT, OpT, LeftT, RightT >::Eval< N, Last, true > |
| Evaluate for the first Len-1 elements. More...
|
class | cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT > |
| Unroll a binary assignment operator on a fixed-size vector. More...
|
struct | cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::Eval< Last, Last, true > |
| Evaluate the binary operator at element Last. More...
|
struct | cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::Eval< N, Last, false > |
| Evaluate the binary operator using a loop. More...
|
struct | cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::Eval< N, Last, true > |
| Evaluate the binary operator for the first Len-1 elements. More...
|
Namespaces |
namespace | cml |
namespace | cml::et |
namespace | cml::et::detail |
Functions |
template<class OpT , class SrcT , typename E , class AT > |
void | cml::et::UnrollAssignment (cml::vector< E, AT > &dest, const SrcT &src) |
| Construct an assignment unroller.
|
Detailed Description
Defines vector unrollers.
- Todo:
- Add unrolling for dynamic vectors, and for vectors longer than CML_VECTOR_UNROLL_LIMIT.
- Todo:
- Does it make sense to unroll an assignment if either side of the assignment has a fixed size, or just when the target vector is fixed size?
Definition in file vector_unroller.h.