< cpp‎ | experimental‎ | simd
Technical specifications
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)
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>;

[edit] Member types

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

[edit] Member functions

constructs a simd object
(public member function)
loads from address
(public member function)
stores to address
(public member function)
accesses specified element
(public member function)
element-wise increment and decrement
(public member function)
element-wise unary operators
(public member function)
returns the number of elements
(public static member function)

[edit] Non-member functions

element-wise binary operators
element-wise compound binary operators
element-wise relational operators

[edit] Example