diff options
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/atomics/or')
| -rw-r--r-- | files/fr/web/javascript/reference/global_objects/atomics/or/index.md | 180 |
1 files changed, 69 insertions, 111 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/atomics/or/index.md b/files/fr/web/javascript/reference/global_objects/atomics/or/index.md index 0147a2d36e..26c37fcd96 100644 --- a/files/fr/web/javascript/reference/global_objects/atomics/or/index.md +++ b/files/fr/web/javascript/reference/global_objects/atomics/or/index.md @@ -10,118 +10,76 @@ tags: translation_of: Web/JavaScript/Reference/Global_Objects/Atomics/or original_slug: Web/JavaScript/Reference/Objets_globaux/Atomics/or --- -<div>{{JSRef}}</div> - -<p>La méthode statique <code><strong>Atomics</strong></code><strong><code>.or()</code></strong> calcule le résultat d'un OU binaire entre une valeur donnée et une valeur du tableau typé et y place le résultat obtenu. Cette opération atomique garantit qu'aucune autre opération d'écriture n'est appliquée tant que la valeur modifiée n'est pas écrite.</p> - -<div>{{EmbedInteractiveExample("pages/js/atomics-or.html")}}</div> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox">Atomics.or(typedArray, index, value) -</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>typedArray</code></dt> - <dd>Un tableau typé entier partagé parmi {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} ou {{jsxref("Uint32Array")}}.</dd> - <dt><code>index</code></dt> - <dd>La position du tableau <code>typedArray</code> sur laquelle calculer le OU binaire.</dd> - <dt><code>valeur</code></dt> - <dd>Le nombre avec lequel calculer le OU binaire.</dd> -</dl> - -<h3 id="Valeur_de_retour">Valeur de retour</h3> - -<p>L'ancienne valeur contenue à l'emplacement du tableau (<code>typedArray[index]</code>).</p> - -<h3 id="Exceptions_levées">Exceptions levées</h3> - -<ul> - <li>Cette méthode lève {{jsxref("TypeError")}} si le type de <code>typedArray</code> n'est pas un des types entiers autorisés.</li> - <li>Cette méthode lève {{jsxref("TypeError")}} si <code>typedArray</code> n'est pas tableau typé partagé.</li> - <li>Cette méthode lève {{jsxref("RangeError")}} si <code>index</code> est en dehors des limites de <code>typedArray</code>.</li> -</ul> - -<h2 id="Description">Description</h2> - -<p>L'opération binaire OU renvoie 1 si <code>a</code> ou <code>b</code> valent 1. La table de vérité de cette opération est :</p> - -<table class="standard-table"> - <thead> - <tr> - <th><code>a</code></th> - <th><code>b</code></th> - <th><code>a | b</code></th> - </tr> - </thead> - <tbody> - <tr> - <td>0</td> - <td>0</td> - <td>0</td> - </tr> - <tr> - <td>0</td> - <td>1</td> - <td>1</td> - </tr> - <tr> - <td>1</td> - <td>0</td> - <td>1</td> - </tr> - <tr> - <td>1</td> - <td>1</td> - <td>1</td> - </tr> - </tbody> -</table> - -<p>Par exemple, un OU binaire appliqué entre 5 et 1 (<code>5 | 1</code>) renvoie <code>0101</code>, ce qui correspond à 5 en notation décimale.</p> - -<pre>5 0101 -1 0001 - ---- -5 0101 -</pre> - -<h2 id="Exemples">Exemples</h2> - -<pre class="brush: js">var sab = new SharedArrayBuffer(1024); +{{JSRef}} + +La méthode statique **`Atomics`\*\***`.or()`\*\* calcule le résultat d'un OU binaire entre une valeur donnée et une valeur du tableau typé et y place le résultat obtenu. Cette opération atomique garantit qu'aucune autre opération d'écriture n'est appliquée tant que la valeur modifiée n'est pas écrite. + +{{EmbedInteractiveExample("pages/js/atomics-or.html")}} + +## Syntaxe + + Atomics.or(typedArray, index, value) + +### Paramètres + +- `typedArray` + - : Un tableau typé entier partagé parmi {{jsxref("Int8Array")}}, {{jsxref("Uint8Array")}}, {{jsxref("Int16Array")}}, {{jsxref("Uint16Array")}}, {{jsxref("Int32Array")}} ou {{jsxref("Uint32Array")}}. +- `index` + - : La position du tableau `typedArray` sur laquelle calculer le OU binaire. +- `valeur` + - : Le nombre avec lequel calculer le OU binaire. + +### Valeur de retour + +L'ancienne valeur contenue à l'emplacement du tableau (`typedArray[index]`). + +### Exceptions levées + +- Cette méthode lève {{jsxref("TypeError")}} si le type de `typedArray` n'est pas un des types entiers autorisés. +- Cette méthode lève {{jsxref("TypeError")}} si `typedArray` n'est pas tableau typé partagé. +- Cette méthode lève {{jsxref("RangeError")}} si `index` est en dehors des limites de `typedArray`. + +## Description + +L'opération binaire OU renvoie 1 si `a` ou `b` valent 1. La table de vérité de cette opération est : + +| `a` | `b` | `a \| b` | +| --- | --- | -------- | +| 0 | 0 | 0 | +| 0 | 1 | 1 | +| 1 | 0 | 1 | +| 1 | 1 | 1 | + +Par exemple, un OU binaire appliqué entre 5 et 1 (`5 | 1`) renvoie `0101`, ce qui correspond à 5 en notation décimale. + + 5 0101 + 1 0001 + ---- + 5 0101 + +## Exemples + +```js +var sab = new SharedArrayBuffer(1024); var ta = new Uint8Array(sab); ta[0] = 2; Atomics.or(ta, 0, 1); // renvoie 2, l'ancienne valeur -Atomics.load(ta, 0); // 3</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-atomics.or', 'Atomics.or')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td>Définition initiale avec 2017.</td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Atomics.or")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Atomics")}}</li> - <li>{{jsxref("Atomics.and()")}}</li> - <li>{{jsxref("Atomics.xor()")}}</li> -</ul> +Atomics.load(ta, 0); // 3 +``` + +## Spécifications + +| Spécification | État | Commentaires | +| ---------------------------------------------------------------------------- | ---------------------------- | ------------------------------ | +| {{SpecName('ESDraft', '#sec-atomics.or', 'Atomics.or')}} | {{Spec2('ESDraft')}} | Définition initiale avec 2017. | + +## Compatibilité des navigateurs + +{{Compat("javascript.builtins.Atomics.or")}} + +## Voir aussi + +- {{jsxref("Atomics")}} +- {{jsxref("Atomics.and()")}} +- {{jsxref("Atomics.xor()")}} |
