Baseline Widely available
Atomics.or()
ã¯éçã¡ã½ããã§ãé
åå
ã®æå®ããä½ç½®ã®å¤ã«æå®ããå¤ã§ãããåä½ã® OR ãè¨ç®ãããã®ä½ç½®ã«ãã£ãå¤ãå¤ãè¿ãã¾ããããã¯ä¸å¯åæä½ã§ãä¿®æ£ãããå¤ãæ¸ãæ»ãããã¾ã§ãä»ã®æ¸ãè¾¼ã¿ãèµ·ãããªããã¨ãä¿è¨¼ãã¾ãã
// ãã¤ãåä½ã§ãµã¤ãºãæå®ã㦠SharedArrayBuffer ã使
const buffer = new SharedArrayBuffer(16);
const uint8 = new Uint8Array(buffer);
uint8[0] = 5;
// 5 (0101) OR 2 (0010) = 7 (0111)
console.log(Atomics.or(uint8, 0, 2));
// äºæ³ãããçµæ: 5
console.log(Atomics.load(uint8, 0));
// äºæ³ãããçµæ: 7
æ§æ
Atomics.or(typedArray, index, value)
弿°
typedArray
æ´æ°ã®åä»ãé
åã§ãã Int8Array
, Uint8Array
, Int16Array
, Uint16Array
, Int32Array
, Uint32Array
, BigInt64Array
, BigUint64Array
ã®ä½ããã§ãã
index
typedArray
ã§ãããåä½ã® OR ãè¨ç®ããä½ç½®ã§ãã
value
ãããåä½ã® OR ãåãæ°å¤ã§ãã
æå®ãããä½ç½® (typedArray[index]
) ã«ãã£ãå¤ãå¤ã§ãã
TypeError
typedArray
ã許å¯ãããæ´æ°åã®ãããã§ããªãå ´åã«çºçãã¾ãã
RangeError
index
ã typedArray
ã®ç¯å²ãè¶
ãã¦ããå ´åã«çºçãã¾ãã
ãããåä½ã® OR æä½ã¯ã a 㨠b ã®ã©ã¡ããã 1 ã§ãã£ãå ´åã« 1 ãçæãã¾ãã OR æä½ã®ççå¤è¡¨ã示ãã¾ãã
a
b
a | b
0 0 0 0 1 1 1 0 1 1 1 1
ä¾ãã°ããããåä½ã® OR ã 5 | 1 ã§è¡ãã¨ãçµæã¯ 0101 ããªãã¡ 10 鲿°ã§ 5 ã¨ãªãã¾ãã
5 0101 1 0001 ---- 5 0101ä¾ or ã®ä½¿ç¨
const sab = new SharedArrayBuffer(1024);
const ta = new Uint8Array(sab);
ta[0] = 2;
Atomics.or(ta, 0, 1); // returns 2, the old value
Atomics.load(ta, 0); // 3
仿§æ¸ ãã©ã¦ã¶ã¼ã®äºææ§ é¢é£æ
å ±
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