std::experimental::simd (3) - Linux Manuals

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

NAME

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

Synopsis


Defined in header <experimental/simd>
template< class T, class Abi = simd_abi::compatible<T> >
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
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, int N >
using native_simd = std::experimental::simd<T, std::experimental::simd_abi::native>;

Member types


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

Member functions


              constructs a simd object
constructor (public member function)
              loads from address
copy_from (public member function)
              stores to address
copy_to (public member function)
              accesses specified element
operator[] (public member function)
              element-wise increment and decrement
operator++_ (public member function)
operator--


operator!_ element-wise unary operators
operator~_ (public member function)
operator+_
operator-


size returns the number of elements
              (public static member function)
[static]

Non-member functions


operator+_
operator-_
operator*_
operator/_
operator%_ element-wise binary operators
operator&_ (function)
operator|_
operator^_
operator<<_
operator>>_
operator<<_
operator>>


operator+=_
operator-=_
operator*=_
operator/=_
operator%=_ element-wise compound binary operators
operator&=_ (function)
operator|=_
operator^=_
operator<<=_
operator>>=_
operator<<=_
operator>>=


operator==_
operator!=_ element-wise relational operators
operator>=_ (function)
operator<=_
operator>_
operator<

Example