std::experimental::simd

From cppreference.com
< cpp‎ | experimental‎ | simd
 
 
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
 
 
 
 
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.

Template parameters

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

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>>;

Member types

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

Member functions

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

Non-member functions

element-wise binary operators
(function)
element-wise compound binary operators
(function)
element-wise relational operators
(function)

Example

See also

(parallelism TS v2)
data-parallel type with the element type bool
(class template)
numeric arrays, array masks and array slices
(class template)