Scroll to navigation

std::experimental::simd(3) C++ Standard Libary std::experimental::simd(3)

NAME

std::experimental::simd - std::experimental::simd

Synopsis


Defined in header <experimental/simd>
template< class T, class Abi = simd_abi::compatible<T> > (parallelism TS v2)
class simd;


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


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

Non-member functions


operator+
operator-
operator*
operator/
operator% element-wise binary operators
operator& (function)
operator|
operator^
operator<<
operator>>
(parallelism TS v2)
operator+=
operator-=
operator*=
operator/=
operator%= element-wise compound binary operators
operator&= (function)
operator|=
operator^=
operator<<=
operator>>=
(parallelism TS v2)
operator==
operator!=
operator>= element-wise relational operators
operator<= (function)
operator>
operator<
(parallelism TS v2)

Example


This section is incomplete
Reason: no example

See also


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

Category:


* Todo no example

2024.06.10 http://cppreference.com