std::experimental::simd
From cppreference.com
< cpp | experimental | simd
C++
Experimental
| Technical Specification | ||||
| Filesystem library (filesystem TS) | ||||
| Library fundamentals (library fundamentals TS) | ||||
| Library fundamentals 2 (library fundamentals TS v2) | ||||
| Library fundamentals 3 (library fundamentals TS v3) | ||||
| Extensions for parallelism (parallelism TS) | ||||
| Extensions for parallelism 2 (parallelism TS v2) | ||||
| Extensions for concurrency (concurrency TS) | ||||
| Extensions for concurrency 2 (concurrency TS v2) | ||||
| Concepts (concepts TS) | ||||
| Ranges (ranges TS) | ||||
| Reflection (reflection TS) | ||||
| Mathematical special functions (special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
Extensions for parallelism v2
| Parallel exceptions | ||||
| Additional execution policies | ||||
| Algorithms | ||||
| Task blocks | ||||
| Data-parallel vectors | ||||
SIMD library
std::experimental::simd
| Member functions | ||||
| Non-member functions | ||||
| Defined in header <experimental/simd>
|
||
| 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
| (parallelism TS v2) |
constructs a simd object (public member function) [edit] |
| (parallelism TS v2) |
loads simd elements from contiguous memory (public member function) [edit] |
| (parallelism TS v2) |
stores simd elements to contiguous memory (public member function) [edit] |
| (parallelism TS v2) |
accesses specified element (public member function) [edit] |
| (parallelism TS v2) |
element-wise increment and decrement (public member function) [edit] |
| (parallelism TS v2) |
element-wise unary operators (public member function) [edit] |
| [static] (parallelism TS v2) |
returns the width / number of elements (public static member function) [edit] |
[edit] Non-member functions
| element-wise binary operators (function) [edit] | |
| element-wise compound binary operators (function) [edit] | |
| (parallelism TS v2) |
element-wise relational operators (function) [edit] |
[edit] Example
| This section is incomplete Reason: no example |
[edit] See also
| (parallelism TS v2) |
data-parallel type with the element type bool (class template) [edit] |
| numeric arrays, array masks and array slices (class template) [edit] |