Vector expressions
Vector expressions are any vector type with non-void
Expr
template parameter. Vector expression stores information needed to evaluate a certain expression.
Vector expressions are not meant to be created by the library user. The user may only evaluate them.
The expression types are all very, very similar. Their interface may be summarized as follows (where $
is one of 8, 16, 32 or 64. In general, the user only needs to know that expression vectors are implicitly convertible to non-expression vectors and that the conversion may be requested explicitly using eval() member function.
simdpp::int$<N,E>
Inherits from any_int$<N, int$<N,E> >.
Member types
Type | Definition |
expr_type
|
E
|
Member functions
int$::eval
int$<N> eval() const;
|
||
Evaluates the expression and returns the result.
int$::operator int$<N>
operator int$<N>() const;
|
||
Returns eval().
simdpp::float$<N,E>
Inherits from any_float$<N, float$<N,E> >.
Member types
Type | Definition |
expr_type
|
E
|
Member functions
float$::eval
float$<N> eval() const;
|
||
Evaluates the expression and returns the result.
float$::operator float$<N>
operator float$<N>() const;
|
||
Returns eval().
simdpp::mask_int$<N,E>
Inherits from any_int$<N, mask_int$<N,E> >.
Member types
Type | Definition |
expr_type
|
E
|
Member functions
mask_int$::eval
mask_int$<N> eval() const;
|
||
Evaluates the expression and returns the result.
mask_int$::operator mask_int$<N>
operator mask_int$<N>() const;
|
||
Returns eval().
mask_int$::operator uint$<N>
operator uint$<N>() const;
|
||
Returns eval().unmask().
simdpp::mask_float$<N,E>
Inherits from any_float$<N, mask_float$<N,E> >.
Member types
Type | Definition |
expr_type
|
E
|
Member functions
mask_float$::eval
mask_float$<N> eval() const;
|
||
Evaluates the expression and returns the result.
mask_float$::operator mask_float$<N>
operator mask_float$<N>() const;
|
||
Returns eval().
mask_float$::operator float$<N>
operator float$<N>() const;
|
||
Returns eval().unmask().