#include <vector_unroller.h>
Classes | |
struct | Eval< Last, Last, true > |
Evaluate the binary operator at element Last. More... | |
struct | Eval< N, Last, false > |
Evaluate the binary operator using a loop. More... | |
struct | Eval< N, Last, true > |
Evaluate the binary operator for the first Len-1 elements. More... | |
Public Member Functions | |
void | operator() (vector_type &dest, const SrcT &src, cml::dynamic_size_tag) |
Just use a loop to assign to a runtime-sized vector. | |
void | operator() (vector_type &dest, const SrcT &src, cml::fixed_size_tag) |
Unroll assignment to a fixed-sized vector. | |
Protected Types | |
typedef ExprTraits< vector_type > | dest_traits |
typedef ExprTraits< SrcT > | src_traits |
typedef cml::vector< E, AT > | vector_type |
Private Member Functions | |
size_t | CheckOrResize (vector_type &dest, const SrcT &src, cml::not_resizable_tag) |
size_t | CheckOrResize (vector_type &dest, const SrcT &src, cml::resizable_tag) |
This uses forward iteration to make efficient use of the cache.
cml::et::OpAssign
Definition at line 47 of file vector_unroller.h.
typedef ExprTraits<vector_type> cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::dest_traits [protected] |
Definition at line 58 of file vector_unroller.h.
typedef ExprTraits<SrcT> cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::src_traits [protected] |
Definition at line 59 of file vector_unroller.h.
typedef cml::vector<E,AT> cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::vector_type [protected] |
Definition at line 52 of file vector_unroller.h.
size_t cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::CheckOrResize | ( | vector_type & | dest, | |
const SrcT & | src, | |||
cml::not_resizable_tag | ||||
) | [inline, private] |
Definition at line 147 of file vector_unroller.h.
References cml::et::CheckedSize().
size_t cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::CheckOrResize | ( | vector_type & | dest, | |
const SrcT & | src, | |||
cml::resizable_tag | ||||
) | [inline, private] |
Definition at line 131 of file vector_unroller.h.
References cml::et::CheckedSize(), and cml::et::detail::Resize().
Referenced by cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::operator()().
void cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::operator() | ( | vector_type & | dest, | |
const SrcT & | src, | |||
cml::dynamic_size_tag | ||||
) | [inline] |
Just use a loop to assign to a runtime-sized vector.
Definition at line 157 of file vector_unroller.h.
References cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::CheckOrResize().
void cml::et::detail::VectorAssignmentUnroller< OpT, E, AT, SrcT >::operator() | ( | vector_type & | dest, | |
const SrcT & | src, | |||
cml::fixed_size_tag | ||||
) | [inline] |
Unroll assignment to a fixed-sized vector.
Definition at line 103 of file vector_unroller.h.
References cml::et::CheckedSize().