We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

SIMD.%type%.shuffle()

SIMD.js n'est plus en phase de développement actif par le le TC39 et a été retiré du niveau 3. Cette fonctionnalité n'est plus en cours d'implémentation par les différents éditeurs de navigateur. Les opérations SIMD exposées au Web sont en cours de développement au sein de WebAssembly afin d'obtenir des opérations analogues à celles décrites par SIMD.js.

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.
Obsolete Définition initiale.

Compatibilité des navigateurs

SIMD.js a été retiré des différents navigateurs. Cette API est encore présente dans Firefox Nightly mais sera retirée pour être remplacée par une implémentation WebAssembly. Cf. bug 1416723.

Voir aussi

Étiquettes et contributeurs liés au document

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