Atomics - metodo xor ()

xorIl metodo calcola lo XOR bit per bit con un valore fornito in una data posizione nell'array. Restituisce il vecchio valore in quella posizione. Questa operazione atomica garantisce che nessun'altra scrittura possa avvenire fino a quando il valore modificato non viene riscritto.

Sintassi

Atomics.xor(typedArray, index, value)

Parametri

  • typedArray è l'array intero digitato.

  • index è la posizione in typedarray.

  • value con cui calcolare XOR bit per bit.

Ritorno

Restituisce il vecchio valore in una data posizione.

Eccezioni

  • TypeError nel caso in cui l'array passato non sia un array di tipo intero.

  • RangeError se l'indice passato è fuori limite nell'array digitato.

Esempio

Di seguito è riportato il codice per l'implementazione di JavaScript Atomics:

<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="UTF-8" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      <title>Atomics Example</title>
      <style>
         .result {
            font-size: 20px;
            border: 1px solid black;
         }
      </style>
   </head>
   <body onLoad="operate();">
      <h1>JavaScript Atomics Properties</h1>
      <div class="result"></div>
      <p>Atomics.xor(arr, 0, 2)</p>
      <p>Atomics.load(arr, 0)</p>
      <script>
         function operate(){
            let container = document.querySelector(".result");
            // create a SharedArrayBuffer
            var buffer = new SharedArrayBuffer(25);
            var arr = new Uint8Array(buffer);
            // Initialise element at zeroth position of array with 6
            arr[0] = 6;
            //6 xor 2 = 110 xor 010 = 100 = 4
            container.innerHTML = Atomics.xor(arr, 0, 2) + '<br/>' + Atomics.load(arr, 0);
         }
      </script>
   </body>
</html>

Produzione

Verifica il risultato.