SIMD.%type%.shiftRightArithmeticByScalar()

Note : Cette méthode ne fait plus partie du brouillon pour la spécification SIMD. Elle sera retirée bientôt (cf. bug 1201934).

La méthode statique SIMD.%type%.shiftRightArithmeticByScalar() renvoie une nouvelle instance dont les valeurs des voies sont décalées à droite (au sens arithmétique) par un nombre de bits donné (a >> bits).

Syntaxe

SIMD.Int8x16.shiftRightArithmeticByScalar(a, bits)
SIMD.Int16x8.shiftRightArithmeticByScalar(a, bits)
SIMD.Int32x4.shiftRightArithmeticByScalar(a, bits)

SIMD.Uint8x16.shiftRightArithmeticByScalar(a, bits)
SIMD.Uint16x8.shiftRightArithmeticByScalar(a, bits) 
SIMD.Uint32x4.shiftRightArithmeticByScalar(a, bits)

Paramètres

a
Une instance d'un type SIMD.
bits
Le nombres de bits dont on souhaite décaler les valeurs par la droite.

Valeur de retour

Un nouveau vecteur SIMD dont les valeurs des voies sont les valeurs du vecteur original, décalées sur la droite (au sens arithmétique) du nombre donné de bits (a >> bits).

Description

Le décalage binaire à droite arithmétique décale les bits de la représentation binaire d'un nombre sur la droite. Les bits qui se retrouvent trop à droite ne sont pas conservés. Les bits les plus à gauche sont générés à partir du bit de signe. Cela permet de conserver le signe du nombre, c'est pour cette raison qu'on appelle ce décalage « arithmétique » (ou aussi « avec propagation du signe »).

Pour les nombres positifs, le décalage binaire à droite arithmétique et le décalage binaire à droite logique entraînent les mêmes résultats.

Si on effectue le décalage arithmétique suivante 5 >> 1 on obtient 0010, ce qui correspond à 2 en base décimale.

5 0101
  ----
2 0010

Exemples

Décalage binaire à droite arithmétique d'un vecteur Int32x4

var a = SIMD.Int32x4(1, 2, 4, -8);
SIMD.Int32x4.shiftRightArithmeticByScalar(a, 1);
// Int32x4[0, 1, 2, -4]

Spécifications

Cette méthode ne fait plus partie du brouillon de la spécification et sera bientôt retiré de SpiderMonkey quil l'implémentait.

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

Voir aussi

Étiquettes et contributeurs liés au document

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