Namespaces
Variants

std::experimental:: split, split_by

From cppreference.net
Défini dans l'en-tête <experimental/simd>
template < std:: size_t ... Sizes , class T, class Abi >

std:: tuple < simd < T, simd_abi :: deduce_t < T, Sizes >> ... >

split ( const simd < T, Abi > & v ) noexcept ;
(1) (parallelism TS v2)
template < std:: size_t ... Sizes , class T, class Abi >

std:: tuple < simd_mask < T, simd_abi :: deduce_t < T, Sizes >> ... >

diviser ( const simd_mask < T, Abi > & v ) noexcept ;
(2) (parallelisme TS v2)
template < class V, class Abi >

std:: array < V, simd_size_v < typename V :: value_type , Abi > / V :: size ( ) >

diviser ( const simd < typename V :: value_type , Abi > & v ) noexcept ;
(3) (parallelism TS v2)
template < class V, class Abi >

std:: array < V, simd_size_v < typename V :: value_type , Abi > / V :: size ( ) >

diviser ( const simd_mask < typename V :: value_type , Abi > & v ) noexcept ;
(4) (parallelism TS v2)
template < size_t N, class T, class A >

array < resize_simd < simd_size_v < T, A > / N, simd < T, A >> , N >

split_by ( const simd < T, A > & v ) noexcept ;
(5) (parallelism TS v2)
template < size_t N, class T, class A >

array < resize_simd < simd_size_v < T, A > / N, simd_mask < T, A >> , N >

split_by ( const simd_mask < T, A > & v ) noexcept ;
(6) (parallelism TS v2)

Divise l'entrée simd ou simd_mask en plusieurs objets simd ou simd_mask .

1,2) Divise l'objet d'entrée en objets de types potentiellement différents (par exemple, des types avec des tailles différentes). Ces fonctions ne participent pas à la résolution de surcharge sauf si Sizes... totalisent v. size ( ) .
3,4) Divise l'objet d'entrée en un tableau d'objets. Ces fonctions ne participent pas à la résolution de surcharge sauf si
  • L'élément du tableau doit être de type simd ou simd_mask , pour le type de v comme simd ou simd_mask , respectivement.
  • simd_size_v < typename V :: value_type , Abi > est un multiple entier de V :: size ( ) .
5,6) Divise l'objet d'entrée en un tableau d'objets. Ces fonctions ne doivent pas participer à la résolution de surcharge sauf si simd_size_v < T, A > est un multiple entier de N .

Paramètres

v - l'objet simd ou simd_mask d'entrée

Valeur de retour

1,2) Un tuple qui contient les objets simd ou simd_mask divisés.
3-6) Un tableau qui contient les objets simd ou simd_mask divisés.

Exemple