Vector expressions

From cppreference.com

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