Namensräume
Varianten
Aktionen

std::experimental::simd_abi::fixed_size

Von cppreference.com
< cpp‎ | experimental‎ | simd
 
 
 
 
 
Definiert in Header <experimental/simd>
template< int N >
struct fixed_size {};
(Parallelismus TS v2)

Der Tag-Typ simd_abi::fixed_size<N> stellt sicher, dass datenparallele Typen N Elemente speichern und manipulieren können (d.h. simd<T, simd_abi::fixed_size<N>>::size() gibt N zurück). Eine Implementierung muss mindestens alle N[132] unterstützen. Zusätzlich muss für jede unterstützte simd<T, Abi>, wobei Abi ein implementierungsdefinierter ABI-Tag ist, N = simd<T, Abi>::size() unterstützt werden.

[bearbeiten] Anmerkungen

Eine Implementierung kann sich entscheiden, die ABI-Kompatibilität zwischen unterschiedlich kompilierten Übersetzungseinheiten für simd und simd_mask Instanziierungen mit demselben simd_abi::fixed_size<N> Tag aufzugeben. Andernfalls ist die Effizienz von simd<T, Abi> wahrscheinlich besser als simd<T, fixed_size<simd_size_v<T, Abi>>> (wobei Abi keine Instanz von simd_abi::fixed_size ist).

[bearbeiten] Beispiel

[bearbeiten] Siehe auch

(Parallelismus TS v2)
die maximale Anzahl von Elementen, deren Unterstützung durch fixed garantiert ist
(Konstante) [bearbeiten]
(Parallelismus TS v2)
Tag-Typ für die Speicherung eines einzelnen Elements
(typedef) [edit]
(Parallelismus TS v2)
Tag-Typ, der ABI-Kompatibilität gewährleistet
(Alias-Vorlage)[edit]
(Parallelismus TS v2)
Tag-Typ, der am effizientesten ist
(Alias-Vorlage)[edit]
(Parallelismus TS v2)
ermittelt einen ABI-Typ für den gegebenen Elementtyp und die Anzahl der Elemente
(Klassen-Vorlage) [edit]