SIMD.%type%.shuffle()

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La méthode statique SIMD.%type%.shuffle() crée un nouvelle instance d'un vecteur SIMD en mélangeant les valeurs des voies des deux vecteurs fournis.

Syntaxe

SIMD.Float32x4.shuffle(a, b, s0, s1, s2, s3)
SIMD.Float64x2.shuffle(a, b, s0, s1)

SIMD.Int8x16.shuffle(a,b,s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15)
SIMD.Int16x8.shuffle(a, b, s0, s1, s2, s3, s4, s5, s6, s7)
SIMD.Int32x4.shuffle(a, b, s0, s1, s2, s3)

SIMD.Uint8x16.shuffle(a,b,s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15)
SIMD.Uint16x8.shuffle(a, b, s0, s1, s2, s3, s4, s5, s6, s7)
SIMD.Uint32x4.shuffle(a, b, s0, s1, s2, s3)

Paramètres

a
Une instance d'un type SIMD à mélanger.
b
Une instance d'un type SIMD à mélanger.
s0-s15
Les indices concaténés de a et b pour les voies allant de s0 à s15.

Valeur de retour

Un nouveau type de donnée SIMD dont les valeurs des voies ont été mélangées.

Description

La méthode SIMD.%type%.shuffle() mélange deux vecteurs SIMD afin de former un nouveau vecteur. Ce mélange est effectué de façon déterministe à partir des indices concaténés fournis. Dans l'exemple qui suit, on voit que la valeur à utiliser pour la première voie du nouveau vecteur sera celle de la deuxième voie du premier vecteur. La deuxième valeur du nouveau vecteur sera celle d'indice 5, soit 3+2 et donc la deuxième valeur du deuxième vecteur.

SIMD shuffle operation

Exemples

Mélanger deux vecteurs Float32x4

var a = SIMD.Float32x4(1, 2, 3, 4);
var b = SIMD.Float32x4(5, 6, 7, 8);

SIMD.Float32x4.shuffle(a, b, 1, 5, 7, 2);
// Float32x4[2,6,8,3]

Spécifications

Spécification État Commentaires
SIMD
La définition de 'SIMD.shuffle' dans cette spécification.
Projet Définition initiale.

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple Pas de support Nightly build Pas de support Pas de support Pas de support
Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple Pas de support Pas de support Nightly build Pas de support Pas de support Pas de support

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,