Inheritance diagram for vec:

This platform-independent SIMD type offers valarray-like behavior in a package the size of a single CPU register.
| T | The element value type. | |
| n | The number of elements. |
Public Types | |
| typedef value_type | init_type |
| Type used for static initialization. Usually the same as the value type, but may vary due to C++ template non-type parameter restrictions. | |
Public Member Functions | |
| vec (data_type data) | |
| Constructs from the raw vector data. | |
| vec () | |
| Constructs with all elements zero. | |
Static Public Member Functions | |
| template<init_type v> | |
| static vec | fill () |
| Fills a vector with the same constant element v. | |
| static vec | fill (value_type v) |
| Fills a vector with the same element v. | |
| template<init_type v0...> | |
| static vec | set () |
| Sets a vector with n constant elements, v0... | |
| static vec | set (value_type v0...) |
| Sets a vector with n elements, v0... | |
Related Functions | |
| (Note that these are not member functions.) | |
Transcendentals | |
Each returns a new vector with elements of type T. You can also use a raw vector for either lhs or rhs. | |
|
const stdext::absolute< vec< T, n > >::result_type | abs (const vec< T, n > &lhs) |
| Applies abs to each element of lhs. | |
|
const stdext::arc_cosine< vec< T, n > >::result_type | acos (const vec< T, n > &lhs) |
| Applies acos to each element of lhs. | |
|
const stdext::arc_sine< vec< T, n > >::result_type | asin (const vec< T, n > &lhs) |
| Applies asin to each element of lhs. | |
|
const stdext::arc_tangent< vec< T, n > >::result_type | atan (const vec< T, n > &lhs) |
| Applies atan to each element of lhs. | |
|
const stdext::arc_tangent2< vec< T, n > >::result_type | atan2 (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies atan2 between the corresponding elements of lhs and rhs. | |
|
const stdext::cosine< vec< T, n > >::result_type | cos (const vec< T, n > &lhs) |
| Applies cos to each element of lhs. | |
|
const stdext::hyperbolic_cosine< vec< T, n > >::result_type | cosh (const vec< T, n > &lhs) |
| Applies cosh to each element of lhs. | |
|
const stdext::exponent< vec< T, n > >::result_type | exp (const vec< T, n > &lhs) |
| Applies exp to each element of lhs. | |
|
const stdext::exponent2< vec< T, n > >::result_type | exp2 (const vec< T, n > &lhs) |
| Applies exp2 to each element of lhs. | |
|
const stdext::multiplies_plus< T >::result_type | fma (const T &lhs, const T &mhs, const T &rhs) |
| Applies fma between the corresponding elements of lhs, mhs and rhs. | |
|
const stdext::logarithm< vec< T, n > >::result_type | log (const vec< T, n > &lhs) |
| Applies log to each element of lhs. | |
|
const stdext::logarithm10< vec< T, n > >::result_type | log10 (const vec< T, n > &lhs) |
| Applies log10 to each element of lhs. | |
|
const stdext::logarithm2< vec< T, n > >::result_type | log2 (const vec< T, n > &lhs) |
| Applies log2 to each element of lhs. | |
|
const stdext::maximum< vec< T, n > >::result_type | max (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies max between the corresponding elements of lhs and rhs. | |
|
const stdext::minimum< vec< T, n > >::result_type | min (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies min between the corresponding elements of lhs and rhs. | |
|
const stdext::power< vec< T, n > >::result_type | pow (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies pow between the corresponding elements of lhs and rhs. | |
|
const stdext::sine< vec< T, n > >::result_type | sin (const vec< T, n > &lhs) |
| Applies sin to each element of lhs. | |
|
const stdext::hyperbolic_sine< vec< T, n > >::result_type | sinh (const vec< T, n > &lhs) |
| Applies sinh to each element of lhs. | |
|
const stdext::square_root< vec< T, n > >::result_type | sqrt (const vec< T, n > &lhs) |
| Applies sqrt to each element of lhs. | |
|
const stdext::tangent< vec< T, n > >::result_type | tan (const vec< T, n > &lhs) |
| Applies tan to each element of lhs. | |
|
const stdext::hyperbolic_tangent< vec< T, n > >::result_type | tanh (const vec< T, n > &lhs) |
| Applies tanh to each element of lhs. | |
Binary Logic | |
Each returns a new vector with boolean elements. You can also use a raw vector for either lhs or rhs. | |
|
const std::logical_and< vec< T, n > >::result_type | operator && (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies operator&& between the corresponding elements of lhs and rhs. | |
|
const std::not_equal_to< vec< T, n > >::result_type | operator!= (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies operator!= between the corresponding elements of lhs and rhs. | |
|
const std::less< vec< T, n > >::result_type | operator< (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies operator< between the corresponding elements of lhs and rhs. | |
|
const std::less_equal< vec< T, n > >::result_type | operator<= (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies operator<= between the corresponding elements of lhs and rhs. | |
|
const std::equal_to< vec< T, n > >::result_type | operator== (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies operator== between the corresponding elements of lhs and rhs. | |
|
const std::greater< vec< T, n > >::result_type | operator> (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies operator> between the corresponding elements of lhs and rhs. | |
|
const std::greater_equal< vec< T, n > >::result_type | operator>= (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies operator>= between the corresponding elements of lhs and rhs. | |
|
const std::logical_or< vec< T, n > >::result_type | operator|| (const vec< T, n > &lhs, const < T, n > &rhs) |
| Applies operator|| between the corresponding elements of lhs and rhs. | |
Unary Logic | |
Each returns a new vector with boolean elements. | |
|
const std::logical_not< vec< T, n > >::result_type | operator! (const vec< T, n > &lhs) |
| Applies operator! to each element of lhs. | |
Unary Arithmetic | |
Each returns a new vector with elements of type T. | |
|
const stdext::identity< vec< T, n > >::result_type | operator+ (const vec< T, n > &lhs) |
| Applies operator+ to each element of lhs. | |
|
const stdext::bitwise_not< vec< T, n > >::result_type | operator~ (const vec< T, n > &lhs) |
| Applies operator~ to each element of lhs. | |
I/O | |
|
std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, const typename vec< T, n >::reference &reference) |
| Inserts a vector element into an output stream os, through an element proxy. | |
|
std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, const vec< T, n > &vector) |
| Inserts a vector into an output stream os. | |
|
std::basic_istream< CharT, Traits > & | operator>> (std::basic_istream< CharT, Traits > &is, vec< T, n > &vector) |
| Extracts a vector from an input stream is. | |
Classes | |
| union | union_type |
| Type used for packing and unpacking elements. More... | |