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
- 1 Template parameters
- 2 Helper alias templates
- 3 Member types
- 4 Member functions
- 5 Non-member functions
- 6 Example
- 7 See also
[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] |