Baseline Widely available
Atomics.xor()
ã¯éçã¡ã½ããã§ãé
åå
ã®æå®ããä½ç½®ã«ããæå®ãããå¤ã¨ã®ãããåä½ã® XOR ãè¨ç®ãããã®ä½ç½®ã«ãã£ãå¤ãå¤ãè¿ãã¾ããããã¯ä¸å¯åæä½ã§ããã夿´ãããå¤ãæ¸ãæ»ãããã¾ã§ä»ã®æ¸ãè¾¼ã¿ãè¡ãããªããã¨ãä¿è¨¼ããã¾ãã
// ãã¤ãåä½ã§ãµã¤ãºãæå®ã㦠SharedArrayBuffer ã使
const buffer = new SharedArrayBuffer(16);
const uint8 = new Uint8Array(buffer);
uint8[0] = 7;
// 7 (0111) XOR 2 (0010) = 5 (0101)
console.log(Atomics.xor(uint8, 0, 2));
// äºæ³ãããçµæ: 7
console.log(Atomics.load(uint8, 0));
// äºæ³ãããçµæ: 5
æ§æ
Atomics.xor(typedArray, index, value)
弿°
typedArray
æ´æ°ã®åä»ãé
åã§ãã Int8Array
ãUint8Array
ãInt16Array
ãUint16Array
ãInt32Array
ãUint32Array
ãBigInt64Array
ãBigUint64Array
ã®ããããã§ãã
index
typedArray
ã®ä¸ã§ãããåä½ã® XOR ãè¨ç®ããä½ç½®ã§ãã
value
ãããåä½ã® XOR ãè¨ç®ããå¤ã§ãã
æå®ãããä½ç½®ã«ãã£ãå¤ãå¤ (typedArray[index]
) ã§ãã
TypeError
typedArray
ã許å¯ãããæ´æ°åã®ãããã§ããªãå ´åã«çºçãã¾ãã
RangeError
index
ã typedArray
ã®ç¯å²ãè¶
ãã¦ããå ´åã«çºçãã¾ãã
ãããåä½ã® XOR æ¼ç®ã¯ã a
㨠b
ãç°ãªãå ´åã« 1 ã«ãªãã¾ãã XOR æ¼ç®ã®ççå¤è¡¨ã¯æ¬¡ã®éãã§ãã
a
b
a ^ b
0 0 0 0 1 1 1 0 1 1 1 0
ä¾ãã°ããããåä½ã® XOR ã§ã¯ 5 ^ 1
ã®çµæã 0100
ãããªãã¡ 10 鲿°ã§ 4 ã«ãªãã¾ãã
5 0101 1 0001 ---- 4 0100ä¾ xor ã®ä½¿ç¨
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 5;
Atomics.xor(ta, 0, 1); // å¤ãå¤ã§ãã 5 ãè¿ã
Atomics.load(ta, 0); // 4
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4