goscript 0.0.24 → 0.0.26
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/README.md +1 -1
- package/cmd/goscript/cmd_compile.go +17 -1
- package/compiler/analysis.go +1 -1
- package/compiler/builtin_test.go +2 -14
- package/compiler/compiler.go +251 -11
- package/compiler/compiler_test.go +60 -0
- package/compiler/decl.go +7 -1
- package/compiler/expr-call.go +212 -2
- package/compiler/expr.go +46 -2
- package/compiler/field.go +4 -4
- package/compiler/spec-value.go +1 -1
- package/compiler/stmt-range.go +204 -1
- package/compiler/type.go +47 -4
- package/dist/gs/builtin/builtin.d.ts +9 -0
- package/dist/gs/builtin/builtin.js +10 -1
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/channel.d.ts +193 -0
- package/dist/gs/builtin/channel.js.map +1 -1
- package/dist/gs/builtin/defer.d.ts +38 -0
- package/dist/gs/builtin/defer.js.map +1 -1
- package/dist/gs/builtin/index.d.ts +1 -0
- package/dist/gs/builtin/index.js +2 -0
- package/dist/gs/builtin/index.js.map +1 -0
- package/dist/gs/builtin/io.d.ts +16 -0
- package/dist/gs/builtin/io.js.map +1 -1
- package/dist/gs/builtin/map.d.ts +33 -0
- package/dist/gs/builtin/map.js.map +1 -1
- package/dist/gs/builtin/slice.d.ts +173 -0
- package/dist/gs/builtin/slice.js +38 -24
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/builtin/type.d.ts +203 -0
- package/dist/gs/builtin/type.js +1 -2
- package/dist/gs/builtin/type.js.map +1 -1
- package/dist/gs/builtin/varRef.d.ts +14 -0
- package/dist/gs/builtin/varRef.js.map +1 -1
- package/dist/gs/cmp/index.d.ts +4 -0
- package/dist/gs/cmp/index.js +27 -0
- package/dist/gs/cmp/index.js.map +1 -0
- package/dist/gs/context/context.d.ts +26 -0
- package/dist/gs/context/context.js +297 -38
- package/dist/gs/context/context.js.map +1 -1
- package/dist/gs/context/index.d.ts +1 -0
- package/dist/gs/errors/errors.d.ts +8 -0
- package/dist/gs/errors/errors.js +190 -0
- package/dist/gs/errors/errors.js.map +1 -0
- package/dist/gs/errors/index.d.ts +1 -0
- package/dist/gs/errors/index.js +2 -0
- package/dist/gs/errors/index.js.map +1 -0
- package/dist/gs/internal/goarch/index.d.ts +6 -0
- package/dist/gs/internal/goarch/index.js +14 -0
- package/dist/gs/internal/goarch/index.js.map +1 -0
- package/dist/gs/iter/index.d.ts +1 -0
- package/dist/gs/iter/index.js +2 -0
- package/dist/gs/iter/index.js.map +1 -0
- package/dist/gs/iter/iter.d.ts +4 -0
- package/dist/gs/iter/iter.js +91 -0
- package/dist/gs/iter/iter.js.map +1 -0
- package/dist/gs/math/bits/index.d.ts +47 -0
- package/dist/gs/math/bits/index.js +300 -0
- package/dist/gs/math/bits/index.js.map +1 -0
- package/dist/gs/runtime/index.d.ts +1 -0
- package/dist/gs/runtime/runtime.d.ts +42 -0
- package/dist/gs/runtime/runtime.js +15 -18
- package/dist/gs/runtime/runtime.js.map +1 -1
- package/dist/gs/slices/index.d.ts +1 -0
- package/dist/gs/slices/index.js +2 -0
- package/dist/gs/slices/index.js.map +1 -0
- package/dist/gs/slices/slices.d.ts +8 -0
- package/dist/gs/slices/slices.js +20 -0
- package/dist/gs/slices/slices.js.map +1 -0
- package/dist/gs/time/index.d.ts +1 -0
- package/dist/gs/time/time.d.ts +57 -0
- package/dist/gs/time/time.js +108 -15
- package/dist/gs/time/time.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Architecture constants for JavaScript/WebAssembly target
|
|
2
|
+
// This replaces the auto-generated version with appropriate values for JS
|
|
3
|
+
// Pointer size in bytes (64-bit in modern JavaScript environments)
|
|
4
|
+
export const PtrSize = 8;
|
|
5
|
+
// JavaScript is little-endian
|
|
6
|
+
export const BigEndian = false;
|
|
7
|
+
// Architecture family
|
|
8
|
+
export const ArchFamily = 'wasm';
|
|
9
|
+
// Other common architecture constants
|
|
10
|
+
export const Int64Align = 8;
|
|
11
|
+
export const MinFrameSize = 0;
|
|
12
|
+
// CPU cache line size (not really applicable in JS, but some code might reference it)
|
|
13
|
+
export const CacheLineSize = 64;
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/internal/goarch/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,0EAA0E;AAE1E,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAA;AAExB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAA;AAE9B,sBAAsB;AACtB,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAA;AAEhC,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAA;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAE7B,sFAAsF;AACtF,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './iter.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/iter/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type Seq<V> = (_yield: (value: V) => boolean) => void;
|
|
2
|
+
export type Seq2<K, V> = (_yield: (key: K, value: V) => boolean) => void;
|
|
3
|
+
export declare function Pull<V>(seq: Seq<V>): [() => [V | undefined, boolean], () => void];
|
|
4
|
+
export declare function Pull2<K, V>(seq: Seq2<K, V>): [() => [K | undefined, V | undefined, boolean], () => void];
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// TypeScript implementation of Go's iter package
|
|
2
|
+
// This provides iterator types and functions
|
|
3
|
+
// Pull converts the "push-style" iterator sequence seq into a "pull-style" iterator
|
|
4
|
+
// Returns a function that returns the next value and a boolean indicating if iteration should continue
|
|
5
|
+
export function Pull(seq) {
|
|
6
|
+
let done = false;
|
|
7
|
+
let nextValue;
|
|
8
|
+
let hasNext = false;
|
|
9
|
+
const iterator = seq(function (value) {
|
|
10
|
+
nextValue = value;
|
|
11
|
+
hasNext = true;
|
|
12
|
+
return false; // Stop iteration after getting one value
|
|
13
|
+
});
|
|
14
|
+
const next = () => {
|
|
15
|
+
if (done) {
|
|
16
|
+
return [undefined, false];
|
|
17
|
+
}
|
|
18
|
+
if (hasNext) {
|
|
19
|
+
const value = nextValue;
|
|
20
|
+
hasNext = false;
|
|
21
|
+
nextValue = undefined;
|
|
22
|
+
return [value, true];
|
|
23
|
+
}
|
|
24
|
+
// Try to get next value
|
|
25
|
+
seq(function (value) {
|
|
26
|
+
nextValue = value;
|
|
27
|
+
hasNext = true;
|
|
28
|
+
return false; // Stop after getting one value
|
|
29
|
+
});
|
|
30
|
+
if (hasNext) {
|
|
31
|
+
const value = nextValue;
|
|
32
|
+
hasNext = false;
|
|
33
|
+
nextValue = undefined;
|
|
34
|
+
return [value, true];
|
|
35
|
+
}
|
|
36
|
+
done = true;
|
|
37
|
+
return [undefined, false];
|
|
38
|
+
};
|
|
39
|
+
const stop = () => {
|
|
40
|
+
done = true;
|
|
41
|
+
hasNext = false;
|
|
42
|
+
nextValue = undefined;
|
|
43
|
+
};
|
|
44
|
+
return [next, stop];
|
|
45
|
+
}
|
|
46
|
+
// Pull2 converts the "push-style" iterator sequence seq into a "pull-style" iterator
|
|
47
|
+
// Returns a function that returns the next key-value pair and a boolean indicating if iteration should continue
|
|
48
|
+
export function Pull2(seq) {
|
|
49
|
+
let done = false;
|
|
50
|
+
let nextKey;
|
|
51
|
+
let nextValue;
|
|
52
|
+
let hasNext = false;
|
|
53
|
+
const next = () => {
|
|
54
|
+
if (done) {
|
|
55
|
+
return [undefined, undefined, false];
|
|
56
|
+
}
|
|
57
|
+
if (hasNext) {
|
|
58
|
+
const key = nextKey;
|
|
59
|
+
const value = nextValue;
|
|
60
|
+
hasNext = false;
|
|
61
|
+
nextKey = undefined;
|
|
62
|
+
nextValue = undefined;
|
|
63
|
+
return [key, value, true];
|
|
64
|
+
}
|
|
65
|
+
// Try to get next value
|
|
66
|
+
seq(function (key, value) {
|
|
67
|
+
nextKey = key;
|
|
68
|
+
nextValue = value;
|
|
69
|
+
hasNext = true;
|
|
70
|
+
return false; // Stop after getting one value
|
|
71
|
+
});
|
|
72
|
+
if (hasNext) {
|
|
73
|
+
const key = nextKey;
|
|
74
|
+
const value = nextValue;
|
|
75
|
+
hasNext = false;
|
|
76
|
+
nextKey = undefined;
|
|
77
|
+
nextValue = undefined;
|
|
78
|
+
return [key, value, true];
|
|
79
|
+
}
|
|
80
|
+
done = true;
|
|
81
|
+
return [undefined, undefined, false];
|
|
82
|
+
};
|
|
83
|
+
const stop = () => {
|
|
84
|
+
done = true;
|
|
85
|
+
hasNext = false;
|
|
86
|
+
nextKey = undefined;
|
|
87
|
+
nextValue = undefined;
|
|
88
|
+
};
|
|
89
|
+
return [next, stop];
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=iter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iter.js","sourceRoot":"","sources":["../../../gs/iter/iter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare const UintSize = 32;
|
|
2
|
+
export declare function LeadingZeros(x: number): number;
|
|
3
|
+
export declare function LeadingZeros8(x: number): number;
|
|
4
|
+
export declare function LeadingZeros16(x: number): number;
|
|
5
|
+
export declare function LeadingZeros32(x: number): number;
|
|
6
|
+
export declare function LeadingZeros64(x: bigint): number;
|
|
7
|
+
export declare function TrailingZeros(x: number): number;
|
|
8
|
+
export declare function TrailingZeros8(x: number): number;
|
|
9
|
+
export declare function TrailingZeros16(x: number): number;
|
|
10
|
+
export declare function TrailingZeros32(x: number): number;
|
|
11
|
+
export declare function TrailingZeros64(x: bigint): number;
|
|
12
|
+
export declare function OnesCount(x: number): number;
|
|
13
|
+
export declare function OnesCount8(x: number): number;
|
|
14
|
+
export declare function OnesCount16(x: number): number;
|
|
15
|
+
export declare function OnesCount32(x: number): number;
|
|
16
|
+
export declare function OnesCount64(x: bigint): number;
|
|
17
|
+
export declare function RotateLeft(x: number, k: number): number;
|
|
18
|
+
export declare function RotateLeft8(x: number, k: number): number;
|
|
19
|
+
export declare function RotateLeft16(x: number, k: number): number;
|
|
20
|
+
export declare function RotateLeft32(x: number, k: number): number;
|
|
21
|
+
export declare function RotateLeft64(x: bigint, k: number): bigint;
|
|
22
|
+
export declare function Reverse(x: number): number;
|
|
23
|
+
export declare function Reverse8(x: number): number;
|
|
24
|
+
export declare function Reverse16(x: number): number;
|
|
25
|
+
export declare function Reverse32(x: number): number;
|
|
26
|
+
export declare function Reverse64(x: bigint): bigint;
|
|
27
|
+
export declare function ReverseBytes(x: number): number;
|
|
28
|
+
export declare function ReverseBytes16(x: number): number;
|
|
29
|
+
export declare function ReverseBytes32(x: number): number;
|
|
30
|
+
export declare function ReverseBytes64(x: bigint): bigint;
|
|
31
|
+
export declare function Len(x: number): number;
|
|
32
|
+
export declare function Len8(x: number): number;
|
|
33
|
+
export declare function Len16(x: number): number;
|
|
34
|
+
export declare function Len32(x: number): number;
|
|
35
|
+
export declare function Len64(x: bigint): number;
|
|
36
|
+
export declare function Mul(x: number, y: number): [number, number];
|
|
37
|
+
export declare function Mul32(x: number, y: number): [number, number];
|
|
38
|
+
export declare function Mul64(x: bigint, y: bigint): [bigint, bigint];
|
|
39
|
+
export declare function Div(hi: number, lo: number, y: number): [number, number];
|
|
40
|
+
export declare function Div32(hi: number, lo: number, y: number): [number, number];
|
|
41
|
+
export declare function Div64(hi: bigint, lo: bigint, y: bigint): [bigint, bigint];
|
|
42
|
+
export declare function Add(x: number, y: number, carry: number): [number, number];
|
|
43
|
+
export declare function Add32(x: number, y: number, carry: number): [number, number];
|
|
44
|
+
export declare function Add64(x: bigint, y: bigint, carry: bigint): [bigint, bigint];
|
|
45
|
+
export declare function Sub(x: number, y: number, borrow: number): [number, number];
|
|
46
|
+
export declare function Sub32(x: number, y: number, borrow: number): [number, number];
|
|
47
|
+
export declare function Sub64(x: bigint, y: bigint, borrow: bigint): [bigint, bigint];
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
// Minimal stub for math/bits package
|
|
2
|
+
// This replaces the auto-generated version that has TypeScript syntax errors
|
|
3
|
+
// UintSize is the size of a uint in bits
|
|
4
|
+
export const UintSize = 32; // Assuming 32-bit for JavaScript numbers
|
|
5
|
+
// --- Leading zeros ---
|
|
6
|
+
export function LeadingZeros(x) {
|
|
7
|
+
return Math.clz32(x >>> 0);
|
|
8
|
+
}
|
|
9
|
+
export function LeadingZeros8(x) {
|
|
10
|
+
return Math.clz32((x & 0xff) << 24);
|
|
11
|
+
}
|
|
12
|
+
export function LeadingZeros16(x) {
|
|
13
|
+
return Math.clz32((x & 0xffff) << 16);
|
|
14
|
+
}
|
|
15
|
+
export function LeadingZeros32(x) {
|
|
16
|
+
return Math.clz32(x >>> 0);
|
|
17
|
+
}
|
|
18
|
+
export function LeadingZeros64(x) {
|
|
19
|
+
// For 64-bit, we need to handle it differently
|
|
20
|
+
if (x === 0n)
|
|
21
|
+
return 64;
|
|
22
|
+
let count = 0;
|
|
23
|
+
let mask = 1n << 63n;
|
|
24
|
+
while ((x & mask) === 0n && count < 64) {
|
|
25
|
+
count++;
|
|
26
|
+
mask >>= 1n;
|
|
27
|
+
}
|
|
28
|
+
return count;
|
|
29
|
+
}
|
|
30
|
+
// --- Trailing zeros ---
|
|
31
|
+
export function TrailingZeros(x) {
|
|
32
|
+
if (x === 0)
|
|
33
|
+
return UintSize;
|
|
34
|
+
return TrailingZeros32(x);
|
|
35
|
+
}
|
|
36
|
+
export function TrailingZeros8(x) {
|
|
37
|
+
if (x === 0)
|
|
38
|
+
return 8;
|
|
39
|
+
return Math.min(8, TrailingZeros32(x));
|
|
40
|
+
}
|
|
41
|
+
export function TrailingZeros16(x) {
|
|
42
|
+
if (x === 0)
|
|
43
|
+
return 16;
|
|
44
|
+
return Math.min(16, TrailingZeros32(x));
|
|
45
|
+
}
|
|
46
|
+
export function TrailingZeros32(x) {
|
|
47
|
+
if (x === 0)
|
|
48
|
+
return 32;
|
|
49
|
+
let count = 0;
|
|
50
|
+
while ((x & 1) === 0) {
|
|
51
|
+
count++;
|
|
52
|
+
x >>>= 1;
|
|
53
|
+
}
|
|
54
|
+
return count;
|
|
55
|
+
}
|
|
56
|
+
export function TrailingZeros64(x) {
|
|
57
|
+
if (x === 0n)
|
|
58
|
+
return 64;
|
|
59
|
+
let count = 0;
|
|
60
|
+
while ((x & 1n) === 0n && count < 64) {
|
|
61
|
+
count++;
|
|
62
|
+
x >>= 1n;
|
|
63
|
+
}
|
|
64
|
+
return count;
|
|
65
|
+
}
|
|
66
|
+
// --- Ones count ---
|
|
67
|
+
export function OnesCount(x) {
|
|
68
|
+
return OnesCount32(x);
|
|
69
|
+
}
|
|
70
|
+
export function OnesCount8(x) {
|
|
71
|
+
return OnesCount32(x & 0xff);
|
|
72
|
+
}
|
|
73
|
+
export function OnesCount16(x) {
|
|
74
|
+
return OnesCount32(x & 0xffff);
|
|
75
|
+
}
|
|
76
|
+
export function OnesCount32(x) {
|
|
77
|
+
// Brian Kernighan's algorithm
|
|
78
|
+
let count = 0;
|
|
79
|
+
x = x >>> 0; // Ensure unsigned
|
|
80
|
+
while (x) {
|
|
81
|
+
count++;
|
|
82
|
+
x &= x - 1;
|
|
83
|
+
}
|
|
84
|
+
return count;
|
|
85
|
+
}
|
|
86
|
+
export function OnesCount64(x) {
|
|
87
|
+
let count = 0;
|
|
88
|
+
while (x > 0n) {
|
|
89
|
+
count++;
|
|
90
|
+
x &= x - 1n;
|
|
91
|
+
}
|
|
92
|
+
return count;
|
|
93
|
+
}
|
|
94
|
+
// --- Rotate left ---
|
|
95
|
+
export function RotateLeft(x, k) {
|
|
96
|
+
return RotateLeft32(x, k);
|
|
97
|
+
}
|
|
98
|
+
export function RotateLeft8(x, k) {
|
|
99
|
+
const n = 8;
|
|
100
|
+
k = k % n;
|
|
101
|
+
x = x & 0xff;
|
|
102
|
+
return ((x << k) | (x >> (n - k))) & 0xff;
|
|
103
|
+
}
|
|
104
|
+
export function RotateLeft16(x, k) {
|
|
105
|
+
const n = 16;
|
|
106
|
+
k = k % n;
|
|
107
|
+
x = x & 0xffff;
|
|
108
|
+
return ((x << k) | (x >> (n - k))) & 0xffff;
|
|
109
|
+
}
|
|
110
|
+
export function RotateLeft32(x, k) {
|
|
111
|
+
const n = 32;
|
|
112
|
+
k = k % n;
|
|
113
|
+
x = x >>> 0; // Ensure unsigned
|
|
114
|
+
return ((x << k) | (x >>> (n - k))) >>> 0;
|
|
115
|
+
}
|
|
116
|
+
export function RotateLeft64(x, k) {
|
|
117
|
+
const n = 64;
|
|
118
|
+
k = k % n;
|
|
119
|
+
const mask = (1n << 64n) - 1n;
|
|
120
|
+
x = x & mask;
|
|
121
|
+
return ((x << BigInt(k)) | (x >> BigInt(n - k))) & mask;
|
|
122
|
+
}
|
|
123
|
+
// --- Reverse ---
|
|
124
|
+
export function Reverse(x) {
|
|
125
|
+
return Reverse32(x);
|
|
126
|
+
}
|
|
127
|
+
export function Reverse8(x) {
|
|
128
|
+
x = x & 0xff;
|
|
129
|
+
x = ((x & 0xf0) >> 4) | ((x & 0x0f) << 4);
|
|
130
|
+
x = ((x & 0xcc) >> 2) | ((x & 0x33) << 2);
|
|
131
|
+
x = ((x & 0xaa) >> 1) | ((x & 0x55) << 1);
|
|
132
|
+
return x;
|
|
133
|
+
}
|
|
134
|
+
export function Reverse16(x) {
|
|
135
|
+
x = x & 0xffff;
|
|
136
|
+
x = ((x & 0xff00) >> 8) | ((x & 0x00ff) << 8);
|
|
137
|
+
x = ((x & 0xf0f0) >> 4) | ((x & 0x0f0f) << 4);
|
|
138
|
+
x = ((x & 0xcccc) >> 2) | ((x & 0x3333) << 2);
|
|
139
|
+
x = ((x & 0xaaaa) >> 1) | ((x & 0x5555) << 1);
|
|
140
|
+
return x;
|
|
141
|
+
}
|
|
142
|
+
export function Reverse32(x) {
|
|
143
|
+
x = x >>> 0; // Ensure unsigned
|
|
144
|
+
x = ((x & 0xffff0000) >>> 16) | ((x & 0x0000ffff) << 16);
|
|
145
|
+
x = ((x & 0xff00ff00) >>> 8) | ((x & 0x00ff00ff) << 8);
|
|
146
|
+
x = ((x & 0xf0f0f0f0) >>> 4) | ((x & 0x0f0f0f0f) << 4);
|
|
147
|
+
x = ((x & 0xcccccccc) >>> 2) | ((x & 0x33333333) << 2);
|
|
148
|
+
x = ((x & 0xaaaaaaaa) >>> 1) | ((x & 0x55555555) << 1);
|
|
149
|
+
return x >>> 0;
|
|
150
|
+
}
|
|
151
|
+
export function Reverse64(x) {
|
|
152
|
+
// Implement 64-bit reverse using similar bit manipulation
|
|
153
|
+
const mask = (1n << 64n) - 1n;
|
|
154
|
+
x = x & mask;
|
|
155
|
+
// Swap 32-bit halves
|
|
156
|
+
x = ((x & 0xffffffff00000000n) >> 32n) | ((x & 0x00000000ffffffffn) << 32n);
|
|
157
|
+
// Swap 16-bit chunks
|
|
158
|
+
x = ((x & 0xffff0000ffff0000n) >> 16n) | ((x & 0x0000ffff0000ffffn) << 16n);
|
|
159
|
+
// Swap 8-bit chunks
|
|
160
|
+
x = ((x & 0xff00ff00ff00ff00n) >> 8n) | ((x & 0x00ff00ff00ff00ffn) << 8n);
|
|
161
|
+
// Swap 4-bit chunks
|
|
162
|
+
x = ((x & 0xf0f0f0f0f0f0f0f0n) >> 4n) | ((x & 0x0f0f0f0f0f0f0f0fn) << 4n);
|
|
163
|
+
// Swap 2-bit chunks
|
|
164
|
+
x = ((x & 0xccccccccccccccccn) >> 2n) | ((x & 0x3333333333333333n) << 2n);
|
|
165
|
+
// Swap 1-bit chunks
|
|
166
|
+
x = ((x & 0xaaaaaaaaaaaaaaaan) >> 1n) | ((x & 0x5555555555555555n) << 1n);
|
|
167
|
+
return x & mask;
|
|
168
|
+
}
|
|
169
|
+
// --- ReverseBytes ---
|
|
170
|
+
export function ReverseBytes(x) {
|
|
171
|
+
return ReverseBytes32(x);
|
|
172
|
+
}
|
|
173
|
+
export function ReverseBytes16(x) {
|
|
174
|
+
return ((x & 0xff) << 8) | ((x & 0xff00) >> 8);
|
|
175
|
+
}
|
|
176
|
+
export function ReverseBytes32(x) {
|
|
177
|
+
x = x >>> 0; // Ensure unsigned
|
|
178
|
+
return ((((x & 0xff) << 24) |
|
|
179
|
+
((x & 0xff00) << 8) |
|
|
180
|
+
((x & 0xff0000) >> 8) |
|
|
181
|
+
((x & 0xff000000) >>> 24)) >>>
|
|
182
|
+
0);
|
|
183
|
+
}
|
|
184
|
+
export function ReverseBytes64(x) {
|
|
185
|
+
const mask = (1n << 64n) - 1n;
|
|
186
|
+
x = x & mask;
|
|
187
|
+
return ((((x & 0xffn) << 56n) |
|
|
188
|
+
((x & 0xff00n) << 40n) |
|
|
189
|
+
((x & 0xff0000n) << 24n) |
|
|
190
|
+
((x & 0xff000000n) << 8n) |
|
|
191
|
+
((x & 0xff00000000n) >> 8n) |
|
|
192
|
+
((x & 0xff0000000000n) >> 24n) |
|
|
193
|
+
((x & 0xff000000000000n) >> 40n) |
|
|
194
|
+
((x & 0xff00000000000000n) >> 56n)) &
|
|
195
|
+
mask);
|
|
196
|
+
}
|
|
197
|
+
// --- Len ---
|
|
198
|
+
export function Len(x) {
|
|
199
|
+
return Len32(x);
|
|
200
|
+
}
|
|
201
|
+
export function Len8(x) {
|
|
202
|
+
return 8 - LeadingZeros8(x);
|
|
203
|
+
}
|
|
204
|
+
export function Len16(x) {
|
|
205
|
+
return 16 - LeadingZeros16(x);
|
|
206
|
+
}
|
|
207
|
+
export function Len32(x) {
|
|
208
|
+
return 32 - LeadingZeros32(x);
|
|
209
|
+
}
|
|
210
|
+
export function Len64(x) {
|
|
211
|
+
return 64 - LeadingZeros64(x);
|
|
212
|
+
}
|
|
213
|
+
// --- Multiplication functions ---
|
|
214
|
+
export function Mul(x, y) {
|
|
215
|
+
return Mul32(x, y);
|
|
216
|
+
}
|
|
217
|
+
export function Mul32(x, y) {
|
|
218
|
+
// For 32-bit multiplication, we can use JavaScript's number precision
|
|
219
|
+
const result = (x >>> 0) * (y >>> 0);
|
|
220
|
+
const hi = Math.floor(result / 0x100000000) >>> 0;
|
|
221
|
+
const lo = result >>> 0;
|
|
222
|
+
return [hi, lo];
|
|
223
|
+
}
|
|
224
|
+
export function Mul64(x, y) {
|
|
225
|
+
const mask32 = 0xffffffffn;
|
|
226
|
+
// Split into 32-bit parts
|
|
227
|
+
const x0 = x & mask32;
|
|
228
|
+
const x1 = x >> 32n;
|
|
229
|
+
const y0 = y & mask32;
|
|
230
|
+
const y1 = y >> 32n;
|
|
231
|
+
// Multiply parts
|
|
232
|
+
const p00 = x0 * y0;
|
|
233
|
+
const p01 = x0 * y1;
|
|
234
|
+
const p10 = x1 * y0;
|
|
235
|
+
const p11 = x1 * y1;
|
|
236
|
+
// Combine results
|
|
237
|
+
const lo = p00 + ((p01 + p10) << 32n);
|
|
238
|
+
const hi = p11 + ((p01 + p10) >> 32n) + (lo < p00 ? 1n : 0n);
|
|
239
|
+
return [hi, lo];
|
|
240
|
+
}
|
|
241
|
+
// --- Division functions ---
|
|
242
|
+
export function Div(hi, lo, y) {
|
|
243
|
+
return Div32(hi, lo, y);
|
|
244
|
+
}
|
|
245
|
+
export function Div32(hi, lo, y) {
|
|
246
|
+
if (y === 0) {
|
|
247
|
+
throw new Error('division by zero');
|
|
248
|
+
}
|
|
249
|
+
// Combine hi and lo into a 64-bit value using BigInt for precision
|
|
250
|
+
const dividend = (BigInt(hi >>> 0) << 32n) | BigInt(lo >>> 0);
|
|
251
|
+
const divisor = BigInt(y >>> 0);
|
|
252
|
+
const quotient = dividend / divisor;
|
|
253
|
+
const remainder = dividend % divisor;
|
|
254
|
+
return [Number(quotient), Number(remainder)];
|
|
255
|
+
}
|
|
256
|
+
export function Div64(hi, lo, y) {
|
|
257
|
+
if (y === 0n) {
|
|
258
|
+
throw new Error('division by zero');
|
|
259
|
+
}
|
|
260
|
+
// Combine hi and lo into a 128-bit value (simulated)
|
|
261
|
+
// For simplicity, we'll use a basic implementation
|
|
262
|
+
const dividend = (hi << 64n) | lo;
|
|
263
|
+
const quotient = dividend / y;
|
|
264
|
+
const remainder = dividend % y;
|
|
265
|
+
return [quotient, remainder];
|
|
266
|
+
}
|
|
267
|
+
// --- Add and Sub with carry ---
|
|
268
|
+
export function Add(x, y, carry) {
|
|
269
|
+
return Add32(x, y, carry);
|
|
270
|
+
}
|
|
271
|
+
export function Add32(x, y, carry) {
|
|
272
|
+
const sum = (x >>> 0) + (y >>> 0) + (carry >>> 0);
|
|
273
|
+
const result = sum >>> 0;
|
|
274
|
+
const carryOut = sum > 0xffffffff ? 1 : 0;
|
|
275
|
+
return [result, carryOut];
|
|
276
|
+
}
|
|
277
|
+
export function Add64(x, y, carry) {
|
|
278
|
+
const mask = (1n << 64n) - 1n;
|
|
279
|
+
const sum = (x & mask) + (y & mask) + (carry & mask);
|
|
280
|
+
const result = sum & mask;
|
|
281
|
+
const carryOut = sum > mask ? 1n : 0n;
|
|
282
|
+
return [result, carryOut];
|
|
283
|
+
}
|
|
284
|
+
export function Sub(x, y, borrow) {
|
|
285
|
+
return Sub32(x, y, borrow);
|
|
286
|
+
}
|
|
287
|
+
export function Sub32(x, y, borrow) {
|
|
288
|
+
const diff = (x >>> 0) - (y >>> 0) - (borrow >>> 0);
|
|
289
|
+
const result = diff >>> 0;
|
|
290
|
+
const borrowOut = diff < 0 ? 1 : 0;
|
|
291
|
+
return [result, borrowOut];
|
|
292
|
+
}
|
|
293
|
+
export function Sub64(x, y, borrow) {
|
|
294
|
+
const mask = (1n << 64n) - 1n;
|
|
295
|
+
const diff = (x & mask) - (y & mask) - (borrow & mask);
|
|
296
|
+
const result = diff & mask;
|
|
297
|
+
const borrowOut = diff < 0n ? 1n : 0n;
|
|
298
|
+
return [result, borrowOut];
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/math/bits/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './runtime.js';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare const GOOS = "js";
|
|
2
|
+
export declare const GOARCH = "wasm";
|
|
3
|
+
export declare const GOVERSION = "go1.24.3";
|
|
4
|
+
export declare function Version(): string;
|
|
5
|
+
export declare function GOMAXPROCS(n: number): number;
|
|
6
|
+
export declare function NumCPU(): number;
|
|
7
|
+
export declare function GC(): void;
|
|
8
|
+
export declare function Gosched(): Promise<void>;
|
|
9
|
+
export declare function NumGoroutine(): number;
|
|
10
|
+
export declare function _incrementGoroutineCount(): void;
|
|
11
|
+
export declare function _decrementGoroutineCount(): void;
|
|
12
|
+
export declare function Caller(skip: number): [number, string, number, boolean];
|
|
13
|
+
export declare function Stack(): Uint8Array;
|
|
14
|
+
export declare class MemStats {
|
|
15
|
+
Alloc: number;
|
|
16
|
+
TotalAlloc: number;
|
|
17
|
+
Sys: number;
|
|
18
|
+
Lookups: number;
|
|
19
|
+
Mallocs: number;
|
|
20
|
+
Frees: number;
|
|
21
|
+
constructor();
|
|
22
|
+
private updateMemoryStats;
|
|
23
|
+
}
|
|
24
|
+
export declare function ReadMemStats(m: MemStats): void;
|
|
25
|
+
export interface Error {
|
|
26
|
+
Error(): string;
|
|
27
|
+
}
|
|
28
|
+
export declare class TypeAssertionError implements Error {
|
|
29
|
+
readonly interfaceType: string;
|
|
30
|
+
readonly concrete: string;
|
|
31
|
+
readonly assertedType: string;
|
|
32
|
+
readonly missingMethod?: string | undefined;
|
|
33
|
+
constructor(interfaceType: string, concrete: string, assertedType: string, missingMethod?: string | undefined);
|
|
34
|
+
Error(): string;
|
|
35
|
+
}
|
|
36
|
+
export declare class PanicError implements Error {
|
|
37
|
+
readonly value: any;
|
|
38
|
+
constructor(value: any);
|
|
39
|
+
Error(): string;
|
|
40
|
+
}
|
|
41
|
+
export declare function SetFinalizer(obj: object, finalizer: ((obj: object) => void) | null): void;
|
|
42
|
+
export declare function KeepAlive(obj: any): void;
|
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
// Runtime constants for the JavaScript/WebAssembly target
|
|
2
|
-
export const GOOS =
|
|
3
|
-
export const GOARCH =
|
|
2
|
+
export const GOOS = 'js';
|
|
3
|
+
export const GOARCH = 'wasm';
|
|
4
4
|
// Version returns the Go version as a string
|
|
5
|
+
export const GOVERSION = 'go1.24.3';
|
|
5
6
|
export function Version() {
|
|
6
|
-
return
|
|
7
|
+
return GOVERSION;
|
|
7
8
|
}
|
|
8
9
|
// GOMAXPROCS sets the maximum number of operating system threads
|
|
9
|
-
//
|
|
10
|
+
//
|
|
11
|
+
// JavaScript is single threaded so this always returns 1.
|
|
10
12
|
export function GOMAXPROCS(n) {
|
|
11
|
-
// In
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
// Return current "setting" (number of logical CPUs)
|
|
15
|
-
return NumCPU();
|
|
16
|
-
}
|
|
17
|
-
// In a real implementation, we would set the max procs
|
|
18
|
-
// For JS/browser, we just return the requested value
|
|
19
|
-
return n;
|
|
13
|
+
// In a full implementation, we would set the max procs
|
|
14
|
+
// Since JavaScript only supports 1, just return 1.
|
|
15
|
+
return 1;
|
|
20
16
|
}
|
|
21
|
-
// NumCPU returns the number of logical CPUs
|
|
17
|
+
// NumCPU returns the number of logical CPUs on the system.
|
|
22
18
|
export function NumCPU() {
|
|
23
19
|
// In browser environment, use navigator.hardwareConcurrency if available
|
|
24
20
|
if (typeof navigator !== 'undefined' && navigator.hardwareConcurrency) {
|
|
@@ -33,6 +29,7 @@ export function GC() {
|
|
|
33
29
|
// In JavaScript, we can't force garbage collection
|
|
34
30
|
// Some engines have gc() function in development, but it's not standard
|
|
35
31
|
if (typeof globalThis.gc === 'function') {
|
|
32
|
+
;
|
|
36
33
|
globalThis.gc();
|
|
37
34
|
}
|
|
38
35
|
// Otherwise, this is a no-op
|
|
@@ -40,7 +37,7 @@ export function GC() {
|
|
|
40
37
|
// Gosched yields the processor, allowing other goroutines to run.
|
|
41
38
|
// In JavaScript, we can use setTimeout(0) or queueMicrotask for similar effect
|
|
42
39
|
export function Gosched() {
|
|
43
|
-
return new Promise(resolve => {
|
|
40
|
+
return new Promise((resolve) => {
|
|
44
41
|
queueMicrotask(resolve);
|
|
45
42
|
});
|
|
46
43
|
}
|
|
@@ -66,7 +63,7 @@ export function Caller(skip) {
|
|
|
66
63
|
// In JavaScript, we can use Error stack trace, but it's limited
|
|
67
64
|
// Return dummy values for goscript compatibility
|
|
68
65
|
const pc = 0; // program counter (not meaningful in JS)
|
|
69
|
-
const file =
|
|
66
|
+
const file = 'unknown';
|
|
70
67
|
const line = 0;
|
|
71
68
|
const ok = false; // indicate we don't have real stack info
|
|
72
69
|
return [pc, file, line, ok];
|
|
@@ -74,7 +71,7 @@ export function Caller(skip) {
|
|
|
74
71
|
// Stack returns a formatted stack trace of the calling goroutine.
|
|
75
72
|
// In JavaScript, we use Error.stack
|
|
76
73
|
export function Stack() {
|
|
77
|
-
const stack = new Error().stack ||
|
|
74
|
+
const stack = new Error().stack || 'stack trace unavailable';
|
|
78
75
|
const encoder = new TextEncoder();
|
|
79
76
|
return encoder.encode(stack);
|
|
80
77
|
}
|
|
@@ -144,7 +141,7 @@ export class PanicError {
|
|
|
144
141
|
// SetFinalizer sets the finalizer associated with obj to the provided finalizer function.
|
|
145
142
|
// In goscript/TypeScript environment, finalizers are not supported, so this throws an error.
|
|
146
143
|
export function SetFinalizer(obj, finalizer) {
|
|
147
|
-
throw new Error(
|
|
144
|
+
throw new Error('runtime.SetFinalizer is not supported in goscript TypeScript environment');
|
|
148
145
|
}
|
|
149
146
|
// KeepAlive keeps obj reachable until the point where KeepAlive is called
|
|
150
147
|
export function KeepAlive(obj) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../gs/runtime/runtime.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../gs/runtime/runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './slices.js';
|