Open In App

JavaScript Atomics xor() Method

Last Updated : 22 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Atomics.xor() Method: Among the Atomic Operations, there is a method Atomics.xor() that is used to compute a bitwise XOR operation with a given value at a given position in an array. The old value at that position is returned by Atomics.xor() function. No other write operation can happen until the modified value is written back.

Syntax: 

Atomics.xor(typedArray, index, value)

Parameters: 

  • typedarray: It is the shared integer typed array you want to modify.
  • index: It is the position in the typedArray where you want to compute bitwise XOR.
  • value: It is the number you want to compute the bitwise XOR with.

Return Value: Atomics.xor() returns the old value at the given position (typedArray[index]).

Examples of the above function are provided below.

Examples

Input : arr[0] = 9;
        Atomics.xor(arr, 0, 3);
Output : 9

Input : arr[0] = 3; 
        Atomics.xor(arr, 0, 2);
Output : 3

Examples of the above function are provided below. 

Example 1: 

Javascript




//creating a SharedArrayBuffer
let buf = new SharedArrayBuffer(25);
let arr = new Uint8Array(buf);
  
//Initialising element at zeroth position of array with 9 
arr[0] = 9;
  
//9(1001) OR 3(0011) = 10(1010)
//Displaying the return value of the Atomics.xor() method
console.log(Atomics.xor(arr, 0, 3));
  
//Displaying the updated SharedArrayBuffer
console.log(Atomics.load(arr, 0));


Output: 

9
10

Example 2: 

Javascript




//creating a SharedArrayBuffer 
let buf = new SharedArrayBuffer(25);
let arr = new Uint8Array(buf);
  
//Initialising element at zeroth position of array with 3 
arr[0] = 3;
  
//3 (0011) AND 2 (0010) =  3 (0001) 
//Displaying the return value of the Atomics.xor() method 
console.log(Atomics.xor(arr, 0, 2));
  
//Displaying the updated SharedArrayBuffer
console.log(Atomics.load(arr, 0));


Output: 

3
1

Exceptions : 

  • Throws a TypeError, if typedArray is not one of the allowed integer types.
  • Throws a TypeError, if typedArray is not a shared typed array type.
  • Throws a RangeError, if the index is out of bounds in the typedArray.

Supported Browser:

  • Google Chrome
  • Microsoft Edge
  • Firefox
  • Opera
  • Safari

We have a complete list of Javascript Atomic methods, to check those please go through this JavaScript Atomics Complete Reference article.

We have a Cheat Sheet on Javascript where we covered all the important topics of Javascript to check those please go through Javascript Cheat Sheet-A Basic guide to JavaScript.  



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads