SIMD.Bool16x8

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.

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

Syntaxe

SIMD.Bool16x8(s0, s1, s2, s3, s4, s5, s6, s7);

Paramètres

s[0-7] 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.Bool16x8.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.Bool16x8(true,true,true,true,false,false,false,false); 
// TypeError: SIMD.Bool16x8 is not a constructor
var w = new SIMD.Bool16x8.splat(true); 
// TypeError: SIMD.Bool16x8.splat is not a constructor

On écrira plutôt :

var v = SIMD.Bool16x8(true,true,true,true,false,false,false,false);
var w = SIMD.Bool16x8.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.Bool16x8.check()
Renvoie un nouveau tableau Bool16x8 si la valeur passée en paramètre est un type de données Bool16x8 valide, sinon, cette méthode lève une exception TypeError.

Accéder aux voies et les modifier

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

Opérations booléennes

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

Opérations binaires logiques

SIMD.Bool16x8.and()
Renvoie un nouveau vecteur Bool16x8 dont les voies contiennent les résultats respectifs d'un ET logique appliqué sur les voies des arguments (a & b).
SIMD.Bool16x8.or()
Renvoie un nouveau vecteur Bool16x8 dont les voies contiennent les résultats respectifs d'un OU logique appliqué sur les voies des arguments (a | b).
SIMD.Bool16x8.xor()
Renvoie un nouveau vecteur Bool16x8 dont les voies contiennent les résultats respectifs d'un OU exclusif (XOR) logique appliqué sur les voies des arguments (a ^ b).
SIMD.Bool16x8.not()
Renvoie un nouveau vecteur Bool16x8 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.Bool16x8.prototype.

SIMD.Bool16x8.prototype.constructor
Définit la fonction qui crée le prototype d'un objet SIMD.
SIMD.Bool16x8.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.Bool16x8.prototype.toString()
Renvoie une chaîne représentant le type SIMD et ses éléments. Elle surcharge la méthode Object.prototype.toString().
SIMD.Bool16x8.prototype.valueOf()
Renvoie la valeur primitive de l'objet SIMD.
SIMD.Bool16x8.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 Bool16x8

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

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

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

Spécifications

Spécification Statut Commentaires
SIMD
La définition de 'Bool16x8' 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

Voir aussi

Étiquettes et contributeurs liés au document

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