SIMD.Bool64x2

Note : Le type Bool64x2 ne fait, pour le moment, pas partie du brouillon de la spécification pour SIMD.

Le type de données SIMD.Bool64x2 est un vecteur sur 128 bits, divisé en 2 voies qui stockent chacune une valeur booléenne.

Syntaxe

SIMD.Bool64x2(x, y);

Paramètres

x/y Facultatif
Un booléen qui définit la valeur de la voie. La valeur par défaut est false.

Constructeurs

En plus de la fonction de construction classique, l'API SIMD fournit les fonctions suivantes pour construire des vecteurs :

SIMD.Bool64x2.splat()
Cette fonction permet de créer un vecteur Bool6x8 dont toutes les voies sont définies avec une valeur donnée.

Note : Les types SIMD ne fonctionne pas avec new, en effet les valeurs SIMD ne sont pas des valeurs « objectifiées » (à la différence des chaînes qu'on peut créer avec  String(s) et new String(s)).

var v = new SIMD.Bool64x2(true,false); 
// TypeError: SIMD.Bool64x2 is not a constructor
var w = new SIMD.Bool64x2.splat(true); 
// TypeError: SIMD.Bool64x2.splat is not a constructor

On écrira plutôt :

var v = SIMD.Bool64x2(true,false);
var w = SIMD.Bool64x2.splat(true);

Opérations

Pour manipuler des vecteurs SIMD, on doit utiliser des opérations qui fonctionnent spécifiquement sur ces types de données.

Vérification des types SIMD

SIMD.Bool64x2.check()
Renvoie un nouveau tableau Bool64x2 si la valeur passée en paramètre est un type de données Bool64x2 valide, sinon, cette méthode lève une exception TypeError.

Accéder aux voies et les modifier

SIMD.Bool64x2.extractLane()
Renvoie la valeur d'une voie donnée.
SIMD.Bool64x2.replaceLane()
Renvoie un nouveau vecteur Bool64x2 dont la valeur d'une voie donnée a été remplacée.

Opérations booléennes

SIMD.Bool64x2.allTrue()
Vérifie si toutes les voies contiennent une valeur true.
SIMD.Bool64x2.anyTrue()
Vérifie si une voie contient la valeur true.

Opérations binaires logiques

SIMD.Bool64x2.and()
Renvoie un nouveau vecteur Bool64x2 dont les voies contiennent les résultats respectifs d'un ET logique appliqué sur les voies des arguments (a & b).
SIMD.Bool64x2.or()
Renvoie un nouveau vecteur Bool64x2 dont les voies contiennent les résultats respectifs d'un OU logique appliqué sur les voies des arguments (a | b).
SIMD.Bool64x2.xor()
Renvoie un nouveau vecteur Bool64x2 dont les voies contiennent les résultats respectifs d'un OU exclusif (XOR) logique appliqué sur les voies des arguments (a ^ b).
SIMD.Bool64x2.not()
Renvoie un nouveau vecteur Bool64x2 dont les voies contiennent les résultats respectifs d'un NON logique appliqué sur les voies des arguments (~a).

Prototype SIMD

Les méthodes et propriétés suivantes sont rattachées au prototype SIMD.Bool64x2.prototype.

SIMD.Bool64x2.prototype.constructor
Définit la fonction qui crée le prototype d'un objet SIMD.
SIMD.Bool64x2.prototype.toLocaleString()
Renvoie une chaîne localisée représentant le type SIMD et ses éléments. Elle surcharge la méthode Object.prototype.toLocaleString().
SIMD.Bool64x2.prototype.toString()
Renvoie une chaîne représentant le type SIMD et ses éléments. Elle surcharge la méthode Object.prototype.toString().
SIMD.Bool64x2.prototype.valueOf()
Renvoie la valeur primitive de l'objet SIMD.
SIMD.Bool64x2.prototype.toSource()
Renvoie une chaîne de caractère représentant le code source. Elle surcharge la méthode Object.prototype.toSource().

Exemples

Construire un Bool64x2

SIMD.Bool64x2(true, false); 
// Bool64x2[true, false]

SIMD.Bool64x2(1);
// Bool64x2[true, false]

SIMD.Bool64x2();
// Bool64x2[false, false]

Spécifications

Le type Bool64x2 ne fait, pour le moment, pas partie du brouillon de la spécification SIMD.

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,