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%.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 exampleSIMD.Int32x4.load(tarray, -1)
or bigger than the size oftarray
, aRangeError
is thrown. - If
tarray
is not one of the typed array types, for exampleSIMD.Int32x4.load(tarray.buffer, 0)
(an array buffer is not valid), aTypeError
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. |
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 |