< cpp‎ | experimental‎ | simd
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
2D Graphics
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.


[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]
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]
element-wise relational operators
(function) [edit]

[edit] 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]