SIMD.%type%.addSaturate()

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%.addSaturate() renvoie une nouvelle instance d'un tableau SIMD dont les voies contiennent les sommes des voies (a + b)  des tableaux passés et gère le dépassement en encadrant la valeur finale.

Note : Cette opération n'est pas définie pour les types Uint32x4 et Int32x4, car il n'existe actuellement d'accélération matérielle sur ces types.

Syntaxe

SIMD.Int8x16.addSaturate(a, b)
SIMD.Int16x8.addSaturate(a, b)

SIMD.Uint8x16.addSaturate(a, b) 
SIMD.Uint16x8.addSaturate(a, b)

Paramètres

a
Une instance de type SIMD.
b
Une autre instance de type SIMD.

Valeur de retour

Un nouveau type de données SIMD dont les voies contiennent les résultats respectifs des sommes des voies des tableaux a et b ajoutés (a + b).

Exemples

Dans cet exemple, on voit comment la méthode gère le dépassement pour le type Uint16 (la valeur maximale est 65535) et pour le type Int16 (la valeur maximale est 32767). Si le résultat de l'addition dépasse cette limite, le résultat est ramené dans l'intervalle valide.

var a = SIMD.Uint16x8(65533, 65534, 65535, 65535, 1, 1, 1, 1); 
var b = SIMD.Uint16x8(1, 1, 1, 5000, 1, 1, 1, 1); 
SIMD.Uint16x8.addSaturate(a, b); 
// Uint16x8[65534, 65535, 65535, 65535, 2, 2, 2, 2]

var c = SIMD.Int16x8(32765, 32766, 32767, 32767, 1, 1, 1, 1);
var d = SIMD.Int16x8(1, 1, 1, 5000, 1, 1, 1, 1);
SIMD.Int16x8.addSaturate(c, d);
// Int16x8[32766, 32767, 32767, 32767, 2, 2, 2, 2]

Spécifications

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