@daneren2005/shared-memory-objects 1.5.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cached-item-list.d.ts +1 -1
- package/dist/lock/read-write-lock.d.ts +1 -0
- package/dist/lock/read-write-lock.js +6 -3
- package/dist/lock/read-write-lock.js.map +1 -1
- package/dist/shared-list.d.ts +5 -1
- package/dist/shared-list.js +91 -47
- package/dist/shared-list.js.map +1 -1
- package/dist/spatial/shared-spatial-map.js +134 -134
- package/dist/utils/16-from-32-array.d.ts +1 -4
- package/dist/utils/16-from-32-array.js +2 -18
- package/dist/utils/16-from-32-float.d.ts +4 -0
- package/dist/utils/16-from-32-float.js +20 -0
- package/dist/utils/16-from-32-float.js.map +1 -0
- package/dist/utils/16-from-32-int.d.ts +4 -0
- package/dist/utils/16-from-32-int.js +18 -0
- package/dist/utils/16-from-32-int.js.map +1 -0
- package/dist/utils/16-from-32-uint.d.ts +4 -0
- package/dist/utils/16-from-32-uint.js +18 -0
- package/dist/utils/16-from-32-uint.js.map +1 -0
- package/dist/utils/16-from-64-array.d.ts +1 -2
- package/dist/utils/16-from-64-array.js +2 -17
- package/dist/utils/16-from-64-float.d.ts +4 -0
- package/dist/utils/16-from-64-float.js +30 -0
- package/dist/utils/16-from-64-float.js.map +1 -0
- package/dist/utils/16-from-64-int.d.ts +4 -0
- package/dist/utils/16-from-64-int.js +23 -0
- package/dist/utils/16-from-64-int.js.map +1 -0
- package/dist/utils/16-from-64-uint.d.ts +4 -0
- package/dist/utils/16-from-64-uint.js +23 -0
- package/dist/utils/16-from-64-uint.js.map +1 -0
- package/dist/utils/32-from-64-float.d.ts +4 -0
- package/dist/utils/32-from-64-float.js +20 -0
- package/dist/utils/32-from-64-float.js.map +1 -0
- package/dist/utils/32-from-64-int.d.ts +4 -0
- package/dist/utils/32-from-64-int.js +18 -0
- package/dist/utils/32-from-64-int.js.map +1 -0
- package/dist/utils/32-from-64-uint.d.ts +4 -0
- package/dist/utils/32-from-64-uint.js +18 -0
- package/dist/utils/32-from-64-uint.js.map +1 -0
- package/dist/utils/typedarray.js.map +1 -1
- package/package.json +9 -9
- package/dist/utils/16-from-32-array.js.map +0 -1
- package/dist/utils/16-from-64-array.js.map +0 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
//#region src/utils/16-from-64-float.ts
|
|
2
|
+
var e = /* @__PURE__ */ new ArrayBuffer(8), t = new Float64Array(e), n = new BigInt64Array(e), r = new Float16Array(e);
|
|
3
|
+
function i(e, t) {
|
|
4
|
+
let i = new BigInt64Array(e.buffer, e.byteOffset, e.length);
|
|
5
|
+
return n[0] = Atomics.load(i, t), [
|
|
6
|
+
r[0],
|
|
7
|
+
r[1],
|
|
8
|
+
r[2],
|
|
9
|
+
r[3]
|
|
10
|
+
];
|
|
11
|
+
}
|
|
12
|
+
function a(e, t, i, a, o, s = 0) {
|
|
13
|
+
let c = new BigInt64Array(e.buffer, e.byteOffset, e.length);
|
|
14
|
+
r[0] = i, r[1] = a, r[2] = o, r[3] = s, Atomics.store(c, t, n[0]);
|
|
15
|
+
}
|
|
16
|
+
function o(e) {
|
|
17
|
+
return t[0] = e, [
|
|
18
|
+
r[0],
|
|
19
|
+
r[1],
|
|
20
|
+
r[2],
|
|
21
|
+
r[3]
|
|
22
|
+
];
|
|
23
|
+
}
|
|
24
|
+
function s(e, n, i, a = 0) {
|
|
25
|
+
return r[0] = e, r[1] = n, r[2] = i, r[3] = a, t[0];
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { s as convert16To64Float, o as convert64To16Float, i as load16From64Float, a as store16In64Float };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=16-from-64-float.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"16-from-64-float.js","names":[],"sources":["../../src/utils/16-from-64-float.ts"],"sourcesContent":["const buffer = new ArrayBuffer(8);\nconst float64Array = new Float64Array(buffer);\nconst int64Array = new BigInt64Array(buffer);\nconst float16Array = new Float16Array(buffer);\n\nexport function load16From64Float(data: Float64Array, index: number): [number, number, number, number] {\n\tconst atomicData = new BigInt64Array(data.buffer, data.byteOffset, data.length);\n\tint64Array[0] = Atomics.load(atomicData, index);\n\treturn [float16Array[0], float16Array[1], float16Array[2], float16Array[3]];\n}\n\nexport function store16In64Float(data: Float64Array, index: number, value1: number, value2: number, value3: number, value4: number = 0) {\n\tconst atomicData = new BigInt64Array(data.buffer, data.byteOffset, data.length);\n\tfloat16Array[0] = value1;\n\tfloat16Array[1] = value2;\n\tfloat16Array[2] = value3;\n\tfloat16Array[3] = value4;\n\tAtomics.store(atomicData, index, int64Array[0]);\n}\n\nexport function convert64To16Float(value: number): [number, number, number, number] {\n\tfloat64Array[0] = value;\n\treturn [float16Array[0], float16Array[1], float16Array[2], float16Array[3]];\n}\n\nexport function convert16To64Float(value1: number, value2: number, value3: number, value4: number = 0): number {\n\tfloat16Array[0] = value1;\n\tfloat16Array[1] = value2;\n\tfloat16Array[2] = value3;\n\tfloat16Array[3] = value4;\n\treturn float64Array[0];\n}\n"],"mappings":";AAAA,IAAM,oBAAS,IAAI,YAAY,CAAC,GAC1B,IAAe,IAAI,aAAa,CAAM,GACtC,IAAa,IAAI,cAAc,CAAM,GACrC,IAAe,IAAI,aAAa,CAAM;AAE5C,SAAgB,EAAkB,GAAoB,GAAiD;CACtG,IAAM,IAAa,IAAI,cAAc,EAAK,QAAQ,EAAK,YAAY,EAAK,MAAM;CAE9E,OADA,EAAW,KAAK,QAAQ,KAAK,GAAY,CAAK,GACvC;EAAC,EAAa;EAAI,EAAa;EAAI,EAAa;EAAI,EAAa;CAAE;AAC3E;AAEA,SAAgB,EAAiB,GAAoB,GAAe,GAAgB,GAAgB,GAAgB,IAAiB,GAAG;CACvI,IAAM,IAAa,IAAI,cAAc,EAAK,QAAQ,EAAK,YAAY,EAAK,MAAM;CAK9E,AAJA,EAAa,KAAK,GAClB,EAAa,KAAK,GAClB,EAAa,KAAK,GAClB,EAAa,KAAK,GAClB,QAAQ,MAAM,GAAY,GAAO,EAAW,EAAE;AAC/C;AAEA,SAAgB,EAAmB,GAAiD;CAEnF,OADA,EAAa,KAAK,GACX;EAAC,EAAa;EAAI,EAAa;EAAI,EAAa;EAAI,EAAa;CAAE;AAC3E;AAEA,SAAgB,EAAmB,GAAgB,GAAgB,GAAgB,IAAiB,GAAW;CAK9G,OAJA,EAAa,KAAK,GAClB,EAAa,KAAK,GAClB,EAAa,KAAK,GAClB,EAAa,KAAK,GACX,EAAa;AACrB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function load16From64Int(data: BigInt64Array, index: number): [number, number, number, number];
|
|
2
|
+
export declare function store16In64Int(data: BigInt64Array, index: number, value1: number, value2: number, value3: number, value4?: number): void;
|
|
3
|
+
export declare function convert64To16Int(value: bigint): [number, number, number, number];
|
|
4
|
+
export declare function convert16To64Int(value1: number, value2: number, value3: number, value4?: number): bigint;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/utils/16-from-64-int.ts
|
|
2
|
+
var e = /* @__PURE__ */ new ArrayBuffer(8), t = new BigInt64Array(e), n = new Int16Array(e);
|
|
3
|
+
function r(e, t) {
|
|
4
|
+
return a(Atomics.load(e, t));
|
|
5
|
+
}
|
|
6
|
+
function i(e, t, n, r, i, a = 0) {
|
|
7
|
+
Atomics.store(e, t, o(n, r, i, a));
|
|
8
|
+
}
|
|
9
|
+
function a(e) {
|
|
10
|
+
return t[0] = e, [
|
|
11
|
+
n[0],
|
|
12
|
+
n[1],
|
|
13
|
+
n[2],
|
|
14
|
+
n[3]
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
function o(e, r, i, a = 0) {
|
|
18
|
+
return n[0] = e, n[1] = r, n[2] = i, n[3] = a, t[0];
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { o as convert16To64Int, a as convert64To16Int, r as load16From64Int, i as store16In64Int };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=16-from-64-int.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"16-from-64-int.js","names":[],"sources":["../../src/utils/16-from-64-int.ts"],"sourcesContent":["const buffer = new ArrayBuffer(8);\nconst int64Array = new BigInt64Array(buffer);\nconst int16Array = new Int16Array(buffer);\n\nexport function load16From64Int(data: BigInt64Array, index: number): [number, number, number, number] {\n\treturn convert64To16Int(Atomics.load(data, index));\n}\n\nexport function store16In64Int(data: BigInt64Array, index: number, value1: number, value2: number, value3: number, value4: number = 0) {\n\tAtomics.store(data, index, convert16To64Int(value1, value2, value3, value4));\n}\n\nexport function convert64To16Int(value: bigint): [number, number, number, number] {\n\tint64Array[0] = value;\n\n\treturn [int16Array[0], int16Array[1], int16Array[2], int16Array[3]];\n}\n\nexport function convert16To64Int(value1: number, value2: number, value3: number, value4: number = 0): bigint {\n\tint16Array[0] = value1;\n\tint16Array[1] = value2;\n\tint16Array[2] = value3;\n\tint16Array[3] = value4;\n\n\treturn int64Array[0];\n}\n"],"mappings":";AAAA,IAAM,oBAAS,IAAI,YAAY,CAAC,GAC1B,IAAa,IAAI,cAAc,CAAM,GACrC,IAAa,IAAI,WAAW,CAAM;AAExC,SAAgB,EAAgB,GAAqB,GAAiD;CACrG,OAAO,EAAiB,QAAQ,KAAK,GAAM,CAAK,CAAC;AAClD;AAEA,SAAgB,EAAe,GAAqB,GAAe,GAAgB,GAAgB,GAAgB,IAAiB,GAAG;CACtI,QAAQ,MAAM,GAAM,GAAO,EAAiB,GAAQ,GAAQ,GAAQ,CAAM,CAAC;AAC5E;AAEA,SAAgB,EAAiB,GAAiD;CAGjF,OAFA,EAAW,KAAK,GAET;EAAC,EAAW;EAAI,EAAW;EAAI,EAAW;EAAI,EAAW;CAAE;AACnE;AAEA,SAAgB,EAAiB,GAAgB,GAAgB,GAAgB,IAAiB,GAAW;CAM5G,OALA,EAAW,KAAK,GAChB,EAAW,KAAK,GAChB,EAAW,KAAK,GAChB,EAAW,KAAK,GAET,EAAW;AACnB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function load16From64Uint(data: BigUint64Array, index: number): [number, number, number, number];
|
|
2
|
+
export declare function store16In64Uint(data: BigUint64Array, index: number, value1: number, value2: number, value3: number, value4?: number): void;
|
|
3
|
+
export declare function convert64To16Uint(value: bigint): [number, number, number, number];
|
|
4
|
+
export declare function convert16To64Uint(value1: number, value2: number, value3: number, value4?: number): bigint;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/utils/16-from-64-uint.ts
|
|
2
|
+
var e = /* @__PURE__ */ new ArrayBuffer(8), t = new BigUint64Array(e), n = new Uint16Array(e);
|
|
3
|
+
function r(e, t) {
|
|
4
|
+
return a(Atomics.load(e, t));
|
|
5
|
+
}
|
|
6
|
+
function i(e, t, n, r, i, a = 0) {
|
|
7
|
+
Atomics.store(e, t, o(n, r, i, a));
|
|
8
|
+
}
|
|
9
|
+
function a(e) {
|
|
10
|
+
return t[0] = e, [
|
|
11
|
+
n[0],
|
|
12
|
+
n[1],
|
|
13
|
+
n[2],
|
|
14
|
+
n[3]
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
function o(e, r, i, a = 0) {
|
|
18
|
+
return n[0] = e, n[1] = r, n[2] = i, n[3] = a, t[0];
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { o as convert16To64Uint, a as convert64To16Uint, r as load16From64Uint, i as store16In64Uint };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=16-from-64-uint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"16-from-64-uint.js","names":[],"sources":["../../src/utils/16-from-64-uint.ts"],"sourcesContent":["const buffer = new ArrayBuffer(8);\nconst uint64Array = new BigUint64Array(buffer);\nconst uint16Array = new Uint16Array(buffer);\n\nexport function load16From64Uint(data: BigUint64Array, index: number): [number, number, number, number] {\n\treturn convert64To16Uint(Atomics.load(data, index));\n}\n\nexport function store16In64Uint(data: BigUint64Array, index: number, value1: number, value2: number, value3: number, value4: number = 0) {\n\tAtomics.store(data, index, convert16To64Uint(value1, value2, value3, value4));\n}\n\nexport function convert64To16Uint(value: bigint): [number, number, number, number] {\n\tuint64Array[0] = value;\n\n\treturn [uint16Array[0], uint16Array[1], uint16Array[2], uint16Array[3]];\n}\n\nexport function convert16To64Uint(value1: number, value2: number, value3: number, value4: number = 0): bigint {\n\tuint16Array[0] = value1;\n\tuint16Array[1] = value2;\n\tuint16Array[2] = value3;\n\tuint16Array[3] = value4;\n\n\treturn uint64Array[0];\n}\n"],"mappings":";AAAA,IAAM,oBAAS,IAAI,YAAY,CAAC,GAC1B,IAAc,IAAI,eAAe,CAAM,GACvC,IAAc,IAAI,YAAY,CAAM;AAE1C,SAAgB,EAAiB,GAAsB,GAAiD;CACvG,OAAO,EAAkB,QAAQ,KAAK,GAAM,CAAK,CAAC;AACnD;AAEA,SAAgB,EAAgB,GAAsB,GAAe,GAAgB,GAAgB,GAAgB,IAAiB,GAAG;CACxI,QAAQ,MAAM,GAAM,GAAO,EAAkB,GAAQ,GAAQ,GAAQ,CAAM,CAAC;AAC7E;AAEA,SAAgB,EAAkB,GAAiD;CAGlF,OAFA,EAAY,KAAK,GAEV;EAAC,EAAY;EAAI,EAAY;EAAI,EAAY;EAAI,EAAY;CAAE;AACvE;AAEA,SAAgB,EAAkB,GAAgB,GAAgB,GAAgB,IAAiB,GAAW;CAM7G,OALA,EAAY,KAAK,GACjB,EAAY,KAAK,GACjB,EAAY,KAAK,GACjB,EAAY,KAAK,GAEV,EAAY;AACpB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function load32From64Float(data: Float64Array, index: number): [number, number];
|
|
2
|
+
export declare function store32In64Float(data: Float64Array, index: number, value1: number, value2: number): void;
|
|
3
|
+
export declare function convert64To32Float(value: number): [number, number];
|
|
4
|
+
export declare function convert32To64Float(value1: number, value2: number): number;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/utils/32-from-64-float.ts
|
|
2
|
+
var e = /* @__PURE__ */ new ArrayBuffer(8), t = new Float64Array(e), n = new Float32Array(e), r = new BigInt64Array(e);
|
|
3
|
+
function i(e, t) {
|
|
4
|
+
let i = new BigInt64Array(e.buffer, e.byteOffset, e.length);
|
|
5
|
+
return r[0] = Atomics.load(i, t), [n[0], n[1]];
|
|
6
|
+
}
|
|
7
|
+
function a(e, t, i, a) {
|
|
8
|
+
let o = new BigInt64Array(e.buffer, e.byteOffset, e.length);
|
|
9
|
+
n[0] = i, n[1] = a, Atomics.store(o, t, r[0]);
|
|
10
|
+
}
|
|
11
|
+
function o(e) {
|
|
12
|
+
return t[0] = e, [n[0], n[1]];
|
|
13
|
+
}
|
|
14
|
+
function s(e, r) {
|
|
15
|
+
return n[0] = e, n[1] = r, t[0];
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { s as convert32To64Float, o as convert64To32Float, i as load32From64Float, a as store32In64Float };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=32-from-64-float.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"32-from-64-float.js","names":[],"sources":["../../src/utils/32-from-64-float.ts"],"sourcesContent":["const buffer = new ArrayBuffer(8);\nconst float64Array = new Float64Array(buffer);\nconst float32Array = new Float32Array(buffer);\nconst int64Array = new BigInt64Array(buffer);\n\nexport function load32From64Float(data: Float64Array, index: number): [number, number] {\n\tconst atomicData = new BigInt64Array(data.buffer, data.byteOffset, data.length);\n\tint64Array[0] = Atomics.load(atomicData, index);\n\treturn [float32Array[0], float32Array[1]];\n}\n\nexport function store32In64Float(data: Float64Array, index: number, value1: number, value2: number) {\n\tconst atomicData = new BigInt64Array(data.buffer, data.byteOffset, data.length);\n\tfloat32Array[0] = value1;\n\tfloat32Array[1] = value2;\n\tAtomics.store(atomicData, index, int64Array[0]);\n}\n\nexport function convert64To32Float(value: number): [number, number] {\n\tfloat64Array[0] = value;\n\treturn [float32Array[0], float32Array[1]];\n}\n\nexport function convert32To64Float(value1: number, value2: number): number {\n\tfloat32Array[0] = value1;\n\tfloat32Array[1] = value2;\n\treturn float64Array[0];\n}\n"],"mappings":";AAAA,IAAM,oBAAS,IAAI,YAAY,CAAC,GAC1B,IAAe,IAAI,aAAa,CAAM,GACtC,IAAe,IAAI,aAAa,CAAM,GACtC,IAAa,IAAI,cAAc,CAAM;AAE3C,SAAgB,EAAkB,GAAoB,GAAiC;CACtF,IAAM,IAAa,IAAI,cAAc,EAAK,QAAQ,EAAK,YAAY,EAAK,MAAM;CAE9E,OADA,EAAW,KAAK,QAAQ,KAAK,GAAY,CAAK,GACvC,CAAC,EAAa,IAAI,EAAa,EAAE;AACzC;AAEA,SAAgB,EAAiB,GAAoB,GAAe,GAAgB,GAAgB;CACnG,IAAM,IAAa,IAAI,cAAc,EAAK,QAAQ,EAAK,YAAY,EAAK,MAAM;CAG9E,AAFA,EAAa,KAAK,GAClB,EAAa,KAAK,GAClB,QAAQ,MAAM,GAAY,GAAO,EAAW,EAAE;AAC/C;AAEA,SAAgB,EAAmB,GAAiC;CAEnE,OADA,EAAa,KAAK,GACX,CAAC,EAAa,IAAI,EAAa,EAAE;AACzC;AAEA,SAAgB,EAAmB,GAAgB,GAAwB;CAG1E,OAFA,EAAa,KAAK,GAClB,EAAa,KAAK,GACX,EAAa;AACrB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function load32From64Int(data: BigInt64Array, index: number): [number, number];
|
|
2
|
+
export declare function store32In64Int(data: BigInt64Array, index: number, value1: number, value2: number): void;
|
|
3
|
+
export declare function convert64To32Int(value: bigint): [number, number];
|
|
4
|
+
export declare function convert32To64Int(value1: number, value2: number): bigint;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/utils/32-from-64-int.ts
|
|
2
|
+
var e = /* @__PURE__ */ new ArrayBuffer(8), t = new BigInt64Array(e), n = new Int32Array(e);
|
|
3
|
+
function r(e, t) {
|
|
4
|
+
return a(Atomics.load(e, t));
|
|
5
|
+
}
|
|
6
|
+
function i(e, t, n, r) {
|
|
7
|
+
Atomics.store(e, t, o(n, r));
|
|
8
|
+
}
|
|
9
|
+
function a(e) {
|
|
10
|
+
return t[0] = e, [n[0], n[1]];
|
|
11
|
+
}
|
|
12
|
+
function o(e, r) {
|
|
13
|
+
return n[0] = e, n[1] = r, t[0];
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { o as convert32To64Int, a as convert64To32Int, r as load32From64Int, i as store32In64Int };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=32-from-64-int.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"32-from-64-int.js","names":[],"sources":["../../src/utils/32-from-64-int.ts"],"sourcesContent":["const buffer = new ArrayBuffer(8);\nconst int64Array = new BigInt64Array(buffer);\nconst int32Array = new Int32Array(buffer);\n\nexport function load32From64Int(data: BigInt64Array, index: number): [number, number] {\n\treturn convert64To32Int(Atomics.load(data, index));\n}\n\nexport function store32In64Int(data: BigInt64Array, index: number, value1: number, value2: number) {\n\tAtomics.store(data, index, convert32To64Int(value1, value2));\n}\n\nexport function convert64To32Int(value: bigint): [number, number] {\n\tint64Array[0] = value;\n\n\treturn [int32Array[0], int32Array[1]];\n}\n\nexport function convert32To64Int(value1: number, value2: number): bigint {\n\tint32Array[0] = value1;\n\tint32Array[1] = value2;\n\n\treturn int64Array[0];\n}\n"],"mappings":";AAAA,IAAM,oBAAS,IAAI,YAAY,CAAC,GAC1B,IAAa,IAAI,cAAc,CAAM,GACrC,IAAa,IAAI,WAAW,CAAM;AAExC,SAAgB,EAAgB,GAAqB,GAAiC;CACrF,OAAO,EAAiB,QAAQ,KAAK,GAAM,CAAK,CAAC;AAClD;AAEA,SAAgB,EAAe,GAAqB,GAAe,GAAgB,GAAgB;CAClG,QAAQ,MAAM,GAAM,GAAO,EAAiB,GAAQ,CAAM,CAAC;AAC5D;AAEA,SAAgB,EAAiB,GAAiC;CAGjE,OAFA,EAAW,KAAK,GAET,CAAC,EAAW,IAAI,EAAW,EAAE;AACrC;AAEA,SAAgB,EAAiB,GAAgB,GAAwB;CAIxE,OAHA,EAAW,KAAK,GAChB,EAAW,KAAK,GAET,EAAW;AACnB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function load32From64Uint(data: BigUint64Array, index: number): [number, number];
|
|
2
|
+
export declare function store32In64Uint(data: BigUint64Array, index: number, value1: number, value2: number): void;
|
|
3
|
+
export declare function convert64To32Uint(value: bigint): [number, number];
|
|
4
|
+
export declare function convert32To64Uint(value1: number, value2: number): bigint;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/utils/32-from-64-uint.ts
|
|
2
|
+
var e = /* @__PURE__ */ new ArrayBuffer(8), t = new BigUint64Array(e), n = new Uint32Array(e);
|
|
3
|
+
function r(e, t) {
|
|
4
|
+
return a(Atomics.load(e, t));
|
|
5
|
+
}
|
|
6
|
+
function i(e, t, n, r) {
|
|
7
|
+
Atomics.store(e, t, o(n, r));
|
|
8
|
+
}
|
|
9
|
+
function a(e) {
|
|
10
|
+
return t[0] = e, [n[0], n[1]];
|
|
11
|
+
}
|
|
12
|
+
function o(e, r) {
|
|
13
|
+
return n[0] = e, n[1] = r, t[0];
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { o as convert32To64Uint, a as convert64To32Uint, r as load32From64Uint, i as store32In64Uint };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=32-from-64-uint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"32-from-64-uint.js","names":[],"sources":["../../src/utils/32-from-64-uint.ts"],"sourcesContent":["const buffer = new ArrayBuffer(8);\nconst uint64Array = new BigUint64Array(buffer);\nconst uint32Array = new Uint32Array(buffer);\n\nexport function load32From64Uint(data: BigUint64Array, index: number): [number, number] {\n\treturn convert64To32Uint(Atomics.load(data, index));\n}\n\nexport function store32In64Uint(data: BigUint64Array, index: number, value1: number, value2: number) {\n\tAtomics.store(data, index, convert32To64Uint(value1, value2));\n}\n\nexport function convert64To32Uint(value: bigint): [number, number] {\n\tuint64Array[0] = value;\n\n\treturn [uint32Array[0], uint32Array[1]];\n}\n\nexport function convert32To64Uint(value1: number, value2: number): bigint {\n\tuint32Array[0] = value1;\n\tuint32Array[1] = value2;\n\n\treturn uint64Array[0];\n}\n"],"mappings":";AAAA,IAAM,oBAAS,IAAI,YAAY,CAAC,GAC1B,IAAc,IAAI,eAAe,CAAM,GACvC,IAAc,IAAI,YAAY,CAAM;AAE1C,SAAgB,EAAiB,GAAsB,GAAiC;CACvF,OAAO,EAAkB,QAAQ,KAAK,GAAM,CAAK,CAAC;AACnD;AAEA,SAAgB,EAAgB,GAAsB,GAAe,GAAgB,GAAgB;CACpG,QAAQ,MAAM,GAAM,GAAO,EAAkB,GAAQ,CAAM,CAAC;AAC7D;AAEA,SAAgB,EAAkB,GAAiC;CAGlE,OAFA,EAAY,KAAK,GAEV,CAAC,EAAY,IAAI,EAAY,EAAE;AACvC;AAEA,SAAgB,EAAkB,GAAgB,GAAwB;CAIzE,OAHA,EAAY,KAAK,GACjB,EAAY,KAAK,GAEV,EAAY;AACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedarray.js","names":[],"sources":["../../src/utils/typedarray.js"],"sourcesContent":["// Copied from @thi.ng/api/typedarray\n// TODO: rewrite without this but for now just forked in order to add Atomics to base library\n\
|
|
1
|
+
{"version":3,"file":"typedarray.js","names":[],"sources":["../../src/utils/typedarray.js"],"sourcesContent":["// Copied from @thi.ng/api/typedarray\n// TODO: rewrite without this but for now just forked in order to add Atomics to base library\n\nconst GLType = /* @__PURE__ */ ((GLType2) => {\n\tGLType2[GLType2['I8'] = 5120] = 'I8';\n\tGLType2[GLType2['U8'] = 5121] = 'U8';\n\tGLType2[GLType2['I16'] = 5122] = 'I16';\n\tGLType2[GLType2['U16'] = 5123] = 'U16';\n\tGLType2[GLType2['I32'] = 5124] = 'I32';\n\tGLType2[GLType2['U32'] = 5125] = 'U32';\n\tGLType2[GLType2['F32'] = 5126] = 'F32';\n\treturn GLType2;\n})({});\nconst GL2TYPE = {\n\t[5120 /* I8 */]: 'i8',\n\t[5121 /* U8 */]: 'u8',\n\t[5122 /* I16 */]: 'i16',\n\t[5123 /* U16 */]: 'u16',\n\t[5124 /* I32 */]: 'i32',\n\t[5125 /* U32 */]: 'u32',\n\t[5126 /* F32 */]: 'f32',\n};\nconst TYPE2GL = {\n\ti8: 5120 /* I8 */,\n\tu8: 5121 /* U8 */,\n\tu8c: 5121 /* U8 */,\n\ti16: 5122 /* I16 */,\n\tu16: 5123 /* U16 */,\n\ti32: 5124 /* I32 */,\n\tu32: 5125 /* U32 */,\n\tf32: 5126 /* F32 */,\n\tf64: void 0,\n};\nconst SIZEOF = {\n\tu8: 1,\n\tu8c: 1,\n\ti8: 1,\n\tu16: 2,\n\ti16: 2,\n\tu32: 4,\n\ti32: 4,\n\ti64: 8,\n\tu64: 8,\n\tf32: 4,\n\tf64: 8,\n};\nconst BIT_SHIFTS = {\n\ti8: 0,\n\tu8: 0,\n\tu8c: 0,\n\ti16: 1,\n\tu16: 1,\n\ti32: 2,\n\tu32: 2,\n\ti64: 3,\n\tu64: 3,\n\tf32: 2,\n\tf64: 3,\n};\nconst FLOAT_ARRAY_CTORS = {\n\tf32: Float32Array,\n\tf64: Float64Array,\n};\nconst INT_ARRAY_CTORS = {\n\ti8: Int8Array,\n\ti16: Int16Array,\n\ti32: Int32Array,\n};\nconst UINT_ARRAY_CTORS = {\n\tu8: Uint8Array,\n\tu8c: Uint8ClampedArray,\n\tu16: Uint16Array,\n\tu32: Uint32Array,\n};\nconst BIGINT_ARRAY_CTORS = {\n\ti64: BigInt64Array,\n\tu64: BigUint64Array,\n};\nconst TYPEDARRAY_CTORS = {\n\t...FLOAT_ARRAY_CTORS,\n\t...INT_ARRAY_CTORS,\n\t...UINT_ARRAY_CTORS,\n};\nconst asNativeType = (type) => {\n\tconst t = GL2TYPE[type];\n\treturn t !== void 0 ? t : type;\n};\nconst asGLType = (type) => {\n\tconst t = TYPE2GL[type];\n\treturn t !== void 0 ? t : type;\n};\nconst asInt = (...args) => args.map((x) => x | 0);\nconst sizeOf = (type) => SIZEOF[type] || SIZEOF[asNativeType(type)];\nfunction typedArray(type, ...xs) {\n\tconst ctor = BIGINT_ARRAY_CTORS[type];\n\treturn new (ctor || TYPEDARRAY_CTORS[asNativeType(type)])(...xs);\n}\nfunction typedArrayOfVec(type, data, stride) {\n\tconst $data = Array.isArray(data) ? data : [...data];\n\tif(stride === void 0)\n\t\tstride = $data[0].length;\n\tconst num = $data.length;\n\tconst res = typedArray(type, num * stride);\n\tfor(let i = 0, j = 0; i < num; i++, j += stride) {\n\t\tres.set($data[i], j);\n\t}\n\treturn res;\n}\nconst typedArrayType = (x) => {\n\tif(Array.isArray(x))\n\t\treturn 'f64';\n\tfor(let id in TYPEDARRAY_CTORS) {\n\t\tif(x instanceof TYPEDARRAY_CTORS[id])\n\t\t\treturn id;\n\t}\n\treturn 'f64';\n};\nconst uintTypeForSize = (x) => x <= 256 ? 'u8' : x <= 65536 ? 'u16' : 'u32';\nconst intTypeForSize = (x) => x >= -128 && x < 128 ? 'i8' : x >= -32768 && x < 32768 ? 'i16' : 'i32';\nconst uintTypeForBits = (x) => x > 16 ? 'u32' : x > 8 ? 'u16' : 'u8';\nconst intTypeForBits = (x) => x > 16 ? 'i32' : x > 8 ? 'i16' : 'i8';\nconst narrowInt = (t) => t === 'i64' ? 'i32' : t === 'i32' ? 'i16' : t === 'i16' ? 'i8' : 'i8';\nconst widenInt = (t) => t === 'i8' ? 'i16' : t === 'i16' ? 'i32' : t === 'i32' ? 'i64' : 'i64';\nconst narrowUint = (t) => t === 'u64' ? 'u32' : t === 'u32' ? 'u16' : t === 'u16' ? 'u8' : 'u8';\nconst widenUint = (t) => t === 'u8' || t === 'u8c' ? 'u16' : t === 'u16' ? 'u32' : t === 'u32' ? 'u64' : 'u64';\nconst narrowFloat = (t) => t === 'f64' ? 'f32' : 'f32';\nconst widenFloat = (t) => t === 'f32' ? 'f64' : 'f64';\nconst narrowType = (t) => t[0] === 'i' ? narrowInt(t) : t[0] === 'u' ? narrowUint(t) : narrowFloat(t);\nconst widenType = (t) => t[0] === 'i' ? widenInt(t) : t[0] === 'u' ? widenUint(t) : widenFloat(t);\nexport {\n\tBIGINT_ARRAY_CTORS,\n\tBIT_SHIFTS,\n\tFLOAT_ARRAY_CTORS,\n\tGL2TYPE,\n\tGLType,\n\tINT_ARRAY_CTORS,\n\tSIZEOF,\n\tTYPE2GL,\n\tTYPEDARRAY_CTORS,\n\tUINT_ARRAY_CTORS,\n\tasGLType,\n\tasInt,\n\tasNativeType,\n\tintTypeForBits,\n\tintTypeForSize,\n\tnarrowFloat,\n\tnarrowInt,\n\tnarrowType,\n\tnarrowUint,\n\tsizeOf,\n\ttypedArray,\n\ttypedArrayOfVec,\n\ttypedArrayType,\n\tuintTypeForBits,\n\tuintTypeForSize,\n\twidenFloat,\n\twidenInt,\n\twidenType,\n\twidenUint,\n};\n"],"mappings":";AAaA,IAAM,IAAU;CACd,MAAgB;CAChB,MAAgB;CAChB,MAAiB;CACjB,MAAiB;CACjB,MAAiB;CACjB,MAAiB;CACjB,MAAiB;AACnB,GAsCM,IAAoB;CACzB,KAAK;CACL,KAAK;AACN,GACM,IAAkB;CACvB,IAAI;CACJ,KAAK;CACL,KAAK;AACN,GACM,IAAmB;CACxB,IAAI;CACJ,KAAK;CACL,KAAK;CACL,KAAK;AACN,GACM,IAAqB;CAC1B,KAAK;CACL,KAAK;AACN,GACM,IAAmB;CACxB,GAAG;CACH,GAAG;CACH,GAAG;AACJ,GACM,KAAgB,MAAS;CAC9B,IAAM,IAAI,EAAQ;CAClB,OAAO,MAAM,KAAK,IAAQ,IAAJ;AACvB;AAOA,SAAS,EAAW,GAAM,GAAG,GAAI;CAEhC,OAAO,KADM,EAAmB,MACZ,EAAiB,EAAa,CAAI,IAAI,GAAG,CAAE;AAChE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daneren2005/shared-memory-objects",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"author": "daneren2005@gmail.com",
|
|
5
5
|
"description": "Creating objects with a SharedArrayBuffer",
|
|
6
6
|
"homepage": "https://github.com/daneren2005/shared-memory-objects#readme",
|
|
@@ -54,19 +54,19 @@
|
|
|
54
54
|
"@semantic-release/git": "^11.0.1",
|
|
55
55
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
56
56
|
"@timohausmann/quadtree-ts": "^2.3.0",
|
|
57
|
-
"@types/node": "^26.
|
|
58
|
-
"@vitest/coverage-v8": "^4.1.
|
|
59
|
-
"@vitest/ui": "^4.1.
|
|
57
|
+
"@types/node": "^26.5.1",
|
|
58
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
59
|
+
"@vitest/ui": "^4.1.11",
|
|
60
60
|
"cross-env": "^10.1.0",
|
|
61
61
|
"flatbush": "^4.6.2",
|
|
62
62
|
"husky": "^9.1.7",
|
|
63
|
-
"lint-staged": "^17.
|
|
64
|
-
"oxlint": "^1.
|
|
63
|
+
"lint-staged": "^17.5.1",
|
|
64
|
+
"oxlint": "^1.82.0",
|
|
65
65
|
"oxlint-tsgolint": "^7.0.2001",
|
|
66
|
-
"pretty-bytes": "^7.1.
|
|
66
|
+
"pretty-bytes": "^7.1.3",
|
|
67
67
|
"semantic-release": "^25.0.9",
|
|
68
68
|
"typescript": "^7.0.2",
|
|
69
|
-
"vite": "^8.
|
|
70
|
-
"vitest": "^4.1.
|
|
69
|
+
"vite": "^8.3.0",
|
|
70
|
+
"vitest": "^4.1.11"
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"16-from-32-array.js","names":[],"sources":["../../src/utils/16-from-32-array.ts"],"sourcesContent":["const buffer = new ArrayBuffer(4);\nconst uint32Array = new Uint32Array(buffer);\nconst uint16Array = new Uint16Array(buffer);\n\nexport function load16From32(data: Uint32Array, index: number): [number, number] {\n\treturn convert32To16(Atomics.load(data, index));\n}\n\nexport function store16In32(data: Uint32Array, index: number, value1: number, value2: number) {\n\tAtomics.store(data, index, convert16To32(value1, value2));\n}\n\nexport function convert32To16(value: number): [number, number] {\n\tuint32Array[0] = value;\n\n\treturn [uint16Array[0], uint16Array[1]];\n}\nexport function convert16To32(value1: number, value2: number): number {\n\tuint16Array[0] = value1;\n\tuint16Array[1] = value2;\n\n\treturn uint32Array[0];\n}"],"mappings":";AAAA,IAAM,oBAAS,IAAI,YAAY,CAAC,GAC1B,IAAc,IAAI,YAAY,CAAM,GACpC,IAAc,IAAI,YAAY,CAAM;AAE1C,SAAgB,EAAa,GAAmB,GAAiC;CAChF,OAAO,EAAc,QAAQ,KAAK,GAAM,CAAK,CAAC;AAC/C;AAEA,SAAgB,EAAY,GAAmB,GAAe,GAAgB,GAAgB;CAC7F,QAAQ,MAAM,GAAM,GAAO,EAAc,GAAQ,CAAM,CAAC;AACzD;AAEA,SAAgB,EAAc,GAAiC;CAG9D,OAFA,EAAY,KAAK,GAEV,CAAC,EAAY,IAAI,EAAY,EAAE;AACvC;AACA,SAAgB,EAAc,GAAgB,GAAwB;CAIrE,OAHA,EAAY,KAAK,GACjB,EAAY,KAAK,GAEV,EAAY;AACpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"16-from-64-array.js","names":[],"sources":["../../src/utils/16-from-64-array.ts"],"sourcesContent":["const buffer = new ArrayBuffer(8);\nconst uint64Array = new BigUint64Array(buffer);\nconst uint16Array = new Uint16Array(buffer);\n\nexport function load16From64(data: BigUint64Array, index: number): [number, number, number, number] {\n\tuint64Array[0] = Atomics.load(data, index);\n\t\n\treturn [uint16Array[0], uint16Array[1], uint16Array[2], uint16Array[3]];\n}\n\nexport function store16In64(data: BigUint64Array, index: number, value1: number, value2: number, value3: number, value4: number = 0) {\n\tuint16Array[0] = value1;\n\tuint16Array[1] = value2;\n\tuint16Array[2] = value3;\n\tuint16Array[3] = value4;\n\n\tAtomics.store(data, index, uint64Array[0]);\n}"],"mappings":";AAAA,IAAM,oBAAS,IAAI,YAAY,CAAC,GAC1B,IAAc,IAAI,eAAe,CAAM,GACvC,IAAc,IAAI,YAAY,CAAM;AAE1C,SAAgB,EAAa,GAAsB,GAAiD;CAGnG,OAFA,EAAY,KAAK,QAAQ,KAAK,GAAM,CAAK,GAElC;EAAC,EAAY;EAAI,EAAY;EAAI,EAAY;EAAI,EAAY;CAAE;AACvE;AAEA,SAAgB,EAAY,GAAsB,GAAe,GAAgB,GAAgB,GAAgB,IAAiB,GAAG;CAMpI,AALA,EAAY,KAAK,GACjB,EAAY,KAAK,GACjB,EAAY,KAAK,GACjB,EAAY,KAAK,GAEjB,QAAQ,MAAM,GAAM,GAAO,EAAY,EAAE;AAC1C"}
|