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... |