std::experimental::simd - cppreference.com (original) (raw)

| | | | | ------------------------------------------------------------------------ | | ------------------- | | template< class T, class Abi = simd_abi::compatible<T> > class simd; | | (parallelism TS v2) |

The class template simd is a data-parallel type. The width of a given simd instantiation is a constant expression, determined by the template parameters.

An ABI tag is a type in the simd_abi namespace that indicates a choice of size and binary representation for objects of data-parallel type.

Contents

[edit] Template parameters

T - element type; an arithmetic type other than bool
Abi - tag type used to determine the number of elements and storage

[edit] Helper alias templates

| template< class T, int N > using fixed_size_simd = std::experimental::simd<T, std::experimental::simd_abi::fixed_size<N>>; | | | | --------------------------------------------------------------------------------------------------------------------------------- | | | | template< class T > using native_simd = std::experimental::simd<T, std::experimental::simd_abi::native<T>>; | | |

[edit] Member types

Member type Definition
value_type T
reference implementation-defined
mask_type simd_mask<T, Abi>
abi_type Abi

[edit] Member functions

(constructor)(parallelism TS v2) constructs a simd object (public member function) [edit]
copy_from(parallelism TS v2) loads simd elements from contiguous memory (public member function) [edit]
copy_to(parallelism TS v2) stores simd elements to contiguous memory (public member function) [edit]
operator[](parallelism TS v2) accesses specified element (public member function) [edit]
operator++ operator--(parallelism TS v2) element-wise increment and decrement (public member function) [edit]
operator! operator~ operator+ operator-(parallelism TS v2) element-wise unary operators (public member function) [edit]
size[static] (parallelism TS v2) returns the width / number of elements (public static member function) [edit]

[edit] Non-member functions

[edit] Example

[edit] See also

| | data-parallel type with the element type bool (class template) [edit] | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | numeric arrays, array masks and array slices (class template) [edit] |