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%.load() crée un nouveau type de donnée SIMD dont les valeurs des voies sont chargées à partir d'un tableau typé.

Syntaxe

SIMD.Float64x2.load(tarray, index)
SIMD.Float64x2.load1(tarray, index)

SIMD.Float32x4.load(tarray, index)
SIMD.Float32x4.load1(tarray, index)
SIMD.Float32x4.load2(tarray, index)
SIMD.Float32x4.load3(tarray, index)

SIMD.Int32x4.load(tarray, index)
SIMD.Int32x4.load1(tarray, index)
SIMD.Int32x4.load2(tarray, index)
SIMD.Int32x4.load3(tarray, index)

SIMD.Uint32x4.load(tarray, index)
SIMD.Uint32x4.load1(tarray, index)
SIMD.Uint32x4.load2(tarray, index)
SIMD.Uint32x4.load3(tarray, index) 

SIMD.Int8x16.load(tarray, index)
SIMD.Int16x8.load(tarray, index)

SIMD.Uint8x16.load(tarray, index) 
SIMD.Uint16x8.load(tarray, index)

Paramètres

tarray
Une instance d'un tableau typé. L'objet peut être une instance de :
index
Un nombre indiquant la position, l'indice à partir duquel commencer à charger le tableau typé.

Valeur de retour

Un nouveau type de donnée SIMD.

Exceptions levées

  • If index is out of range, for example SIMD.Int32x4.load(tarray, -1) or bigger than the size of tarray, a RangeError is thrown.
  • If tarray is not one of the typed array types, for example SIMD.Int32x4.load(tarray.buffer, 0) (an array buffer is not valid), a TypeError is thrown.

Description

Les méthodes SIMD load et store permettent d'interagir avec les tableaux typés. Avec load, on peut charger des tableaux typés dans des vecteurs SIMD et avec store, on peut enregistrer des données d'un type SIMD vers un tableau typé.

Il est possible de charger toutes les voies avec load(), ou seulement les voies 1, 2, 3 ou 4 avec les méthodes load1(), load2() or load3().

Exemples

Dans les exemples ci-aprèes, on utilise un Int32Array qu'on charge dans un vecteur SIMD.Int32x4.

Charger toutes les valeurs

var a = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.Int32x4.load(a, 0);
// Int32x4[1,2,3,4]

var b = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.Int32x4.load(a, 2);
// Int32x4[3,4,5,6]

Charger une seule valeur

var a = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.Int32x4.load1(a, 0);
// Int32x4[1,0,0,0]

var b = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.Int32x4.load1(a, 2);
// Int32x4[3,0,0,0]

Charger deux valeurs

var a = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.Int32x4.load2(a, 0);
// Int32x4[1,2,0,0]

var b = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.Int32x4.load2(a, 2);
// Int32x4[3,4,0,0]

Charger trois valeurs

var a = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.Int32x4.load3(a, 0);
// Int32x4[1,2,3,0]

var b = new Int32Array([1,2,3,4,5,6,7,8]);
SIMD.Int32x4.load3(a, 2);
// Int32x4[3,4,5,0]

Spécifications

Spécification État Commentaires
SIMD
La définition de 'SIMDConstructor.load' 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,