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
etb
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.
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 |