Difference between revisions of "cpp/experimental/simd"
From cppreference.com
< cpp | experimental
m (move alignment tags into templates) |
m (move ABI tags into dsc templates) |
||
Line 17: | Line 17: | ||
{{dsc begin}} | {{dsc begin}} | ||
{{dsc namespace | std::experimental::simd_abi }} | {{dsc namespace | std::experimental::simd_abi }} | ||
− | {{dsc | + | {{dsc inc | cpp/experimental/simd/dsc scalar }} |
− | {{dsc | + | {{dsc inc | cpp/experimental/simd/dsc fixed_size }} |
− | {{dsc | + | {{dsc inc | cpp/experimental/simd/dsc compatible }} |
− | {{dsc | + | {{dsc inc | cpp/experimental/simd/dsc native }} |
− | {{dsc | + | {{dsc inc | cpp/experimental/simd/dsc max_fixed_size }} |
− | {{dsc | + | {{dsc inc | cpp/experimental/simd/dsc deduce }} |
{{dsc end}} | {{dsc end}} | ||
Revision as of 04:01, 11 July 2019
Defined in header
<experimental/simd> |
Contents |
Main classes
(parallelism TS v2) |
data-parallel vector type (class template) |
(parallelism TS v2) |
data-parallel type with the element type bool (class template) |
ABI tags
Defined in namespace
std::experimental::simd_abi | |
(parallelism TS v2) |
tag type for storing a single element (typedef) |
(parallelism TS v2) |
tag type for storing specified number of elements (alias template) |
(parallelism TS v2) |
tag type that ensures ABI compatibility (alias template) |
(parallelism TS v2) |
tag type that is most efficient (alias template) |
(parallelism TS v2) |
the maximum number of elements guaranteed to be supported by fixed (constant) |
(parallelism TS v2) |
obtains an ABI type for given element type and number of elements (class template) |
Alignment tags
(parallelism TS v2) |
flag indicating alignment of the load/store address to element alignment (class) |
(parallelism TS v2) |
flag indicating alignment of the load/store address to vector alignment (class) |
(parallelism TS v2) |
flag indicating alignment of the load/store address to the specified alignment (class template) |
Where expression
(parallelism TS v2) |
selected elements with non-mutating operations (class template) |
(parallelism TS v2) |
selected elements with mutating operations (class template) |
(parallelism TS v2) |
produces const_where_expression and where_expression (function template) |
Casts
(parallelism TS v2) |
element-wise static_cast (function template) |
(parallelism TS v2) |
element-wise ABI cast (function template) |
(parallelism TS v2) |
splits single simd object to multiple ones (function template) |
(parallelism TS v2) |
concatenates multiple simd objects to a single one (function template) |
Algorithms
(parallelism TS v2) |
element-wise min operation (function template) |
(parallelism TS v2) |
element-wise max operation (function template) |
(parallelism TS v2) |
element-wise minmax operation (function template) |
(parallelism TS v2) |
element-wise clamp operation (function template) |
Reduction
(parallelism TS v2) |
reduces the vector to a single element (function template) |
(parallelism TS v2) |
returns the minimum element (function template) |
(parallelism TS v2) |
returns the maximum element (function template) |
Mask reduction
(parallelism TS v2) |
predicates on the number of true values (function template) |
(parallelism TS v2) |
returns the number of true values (function template) |
(parallelism TS v2) |
returns the position of the first or last true value (function template) |
Traits
(parallelism TS v2) |
checks if a type is an ABI tag type (class template) |
(parallelism TS v2) |
checks if a type is a simd type (class template) |
(parallelism TS v2) |
checks if a type is a simd_mask type (class template) |
(parallelism TS v2) |
checks if a type is a simd flag type (class template) |
(parallelism TS v2) |
obtains the number of elements of a given element type and ABI (class template) |
(parallelism TS v2) |
obtains an appropriate alignment for vector_aligned (class template) |