@grain/stdlib 0.6.6 → 0.7.1
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/CHANGELOG.md +67 -0
- package/LICENSE +1 -1
- package/README.md +2 -2
- package/array.gr +55 -7
- package/array.md +606 -560
- package/bigint.md +228 -228
- package/buffer.gr +85 -53
- package/buffer.md +442 -319
- package/bytes.gr +112 -35
- package/bytes.md +299 -219
- package/char.gr +201 -99
- package/char.md +447 -120
- package/exception.gr +11 -11
- package/exception.md +29 -4
- package/float32.gr +327 -3
- package/float32.md +698 -111
- package/float64.gr +320 -3
- package/float64.md +698 -111
- package/fs.gr +1082 -0
- package/fs.md +630 -0
- package/hash.gr +142 -88
- package/hash.md +105 -17
- package/int16.md +178 -178
- package/int32.gr +26 -5
- package/int32.md +266 -231
- package/int64.gr +27 -2
- package/int64.md +266 -231
- package/int8.md +178 -178
- package/json.gr +366 -51
- package/json.md +431 -15
- package/list.gr +328 -31
- package/list.md +759 -336
- package/map.gr +20 -12
- package/map.md +266 -260
- package/marshal.gr +41 -40
- package/marshal.md +14 -14
- package/number.gr +278 -35
- package/number.md +688 -269
- package/option.md +162 -162
- package/package.json +5 -3
- package/path.gr +48 -0
- package/path.md +180 -89
- package/pervasives.gr +2 -2
- package/pervasives.md +275 -275
- package/priorityqueue.gr +7 -7
- package/priorityqueue.md +131 -131
- package/queue.gr +183 -29
- package/queue.md +404 -148
- package/random.md +43 -43
- package/range.gr +4 -4
- package/range.md +42 -42
- package/rational.md +123 -123
- package/regex.gr +52 -51
- package/regex.md +102 -102
- package/result.md +118 -118
- package/runtime/atof/common.md +39 -39
- package/runtime/atof/decimal.gr +6 -6
- package/runtime/atof/decimal.md +14 -14
- package/runtime/atof/lemire.gr +5 -5
- package/runtime/atof/lemire.md +1 -1
- package/runtime/atof/parse.gr +16 -16
- package/runtime/atof/parse.md +2 -2
- package/runtime/atof/slow.md +1 -1
- package/runtime/atof/table.md +2 -2
- package/runtime/atoi/parse.gr +3 -3
- package/runtime/atoi/parse.md +1 -1
- package/runtime/bigint.gr +15 -47
- package/runtime/bigint.md +54 -60
- package/runtime/compare.gr +2 -2
- package/runtime/compare.md +8 -8
- package/runtime/dataStructures.md +211 -211
- package/runtime/debugPrint.gr +4 -1
- package/runtime/debugPrint.md +9 -9
- package/runtime/equal.gr +99 -77
- package/runtime/equal.md +8 -8
- package/runtime/exception.gr +62 -82
- package/runtime/exception.md +62 -11
- package/runtime/gc.gr +39 -45
- package/runtime/gc.md +4 -4
- package/runtime/malloc.gr +7 -7
- package/runtime/malloc.md +13 -13
- package/runtime/math/kernel/cos.gr +70 -0
- package/runtime/math/kernel/cos.md +14 -0
- package/runtime/math/kernel/sin.gr +65 -0
- package/runtime/math/kernel/sin.md +14 -0
- package/runtime/math/kernel/tan.gr +136 -0
- package/runtime/math/kernel/tan.md +14 -0
- package/runtime/math/rempio2.gr +244 -0
- package/runtime/math/rempio2.md +14 -0
- package/runtime/math/trig.gr +130 -0
- package/runtime/math/trig.md +28 -0
- package/runtime/math/umuldi.gr +26 -0
- package/runtime/math/umuldi.md +14 -0
- package/runtime/numberUtils.gr +29 -29
- package/runtime/numberUtils.md +12 -12
- package/runtime/numbers.gr +373 -381
- package/runtime/numbers.md +348 -342
- package/runtime/string.gr +37 -105
- package/runtime/string.md +20 -26
- package/runtime/unsafe/constants.md +24 -24
- package/runtime/unsafe/conv.md +19 -19
- package/runtime/unsafe/memory.gr +24 -20
- package/runtime/unsafe/memory.md +27 -7
- package/runtime/unsafe/offsets.gr +36 -0
- package/runtime/unsafe/offsets.md +88 -0
- package/runtime/unsafe/panic.gr +28 -0
- package/runtime/unsafe/panic.md +14 -0
- package/runtime/unsafe/tags.md +32 -32
- package/runtime/unsafe/wasmf32.md +28 -28
- package/runtime/unsafe/wasmf64.md +28 -28
- package/runtime/unsafe/wasmi32.md +47 -47
- package/runtime/unsafe/wasmi64.md +50 -50
- package/runtime/utf8.gr +189 -0
- package/runtime/utf8.md +117 -0
- package/runtime/wasi.gr +4 -2
- package/runtime/wasi.md +147 -147
- package/set.gr +18 -11
- package/set.md +253 -247
- package/stack.gr +171 -2
- package/stack.md +371 -89
- package/string.gr +352 -557
- package/string.md +298 -255
- package/uint16.md +170 -170
- package/uint32.gr +25 -4
- package/uint32.md +249 -214
- package/uint64.gr +25 -5
- package/uint64.md +249 -214
- package/uint8.md +170 -170
- package/uri.gr +57 -53
- package/uri.md +88 -89
- package/wasi/file.gr +67 -59
- package/wasi/file.md +308 -308
- package/wasi/process.md +26 -26
- package/wasi/random.md +12 -12
- package/wasi/time.md +16 -16
- package/runtime/utils/printing.gr +0 -60
- package/runtime/utils/printing.md +0 -26
package/runtime/bigint.md
CHANGED
|
@@ -6,64 +6,58 @@ title: Bigint
|
|
|
6
6
|
|
|
7
7
|
Functions and constants included in the Bigint module.
|
|
8
8
|
|
|
9
|
-
### Bigint.**debugDumpNumber**
|
|
10
|
-
|
|
11
|
-
```grain
|
|
12
|
-
debugDumpNumber : (num: WasmI32) => Void
|
|
13
|
-
```
|
|
14
|
-
|
|
15
9
|
### Bigint.**getSize**
|
|
16
10
|
|
|
17
11
|
```grain
|
|
18
|
-
getSize
|
|
12
|
+
getSize: (ptr: WasmI32) => WasmI32
|
|
19
13
|
```
|
|
20
14
|
|
|
21
15
|
### Bigint.**getFlags**
|
|
22
16
|
|
|
23
17
|
```grain
|
|
24
|
-
getFlags
|
|
18
|
+
getFlags: (ptr: WasmI32) => WasmI32
|
|
25
19
|
```
|
|
26
20
|
|
|
27
21
|
### Bigint.**getLimb**
|
|
28
22
|
|
|
29
23
|
```grain
|
|
30
|
-
getLimb
|
|
24
|
+
getLimb: (ptr: WasmI32, i: WasmI32) => WasmI64
|
|
31
25
|
```
|
|
32
26
|
|
|
33
27
|
### Bigint.**makeWrappedInt32**
|
|
34
28
|
|
|
35
29
|
```grain
|
|
36
|
-
makeWrappedInt32
|
|
30
|
+
makeWrappedInt32: (value: WasmI32) => WasmI32
|
|
37
31
|
```
|
|
38
32
|
|
|
39
33
|
### Bigint.**makeWrappedUint32**
|
|
40
34
|
|
|
41
35
|
```grain
|
|
42
|
-
makeWrappedUint32
|
|
36
|
+
makeWrappedUint32: (value: WasmI32) => WasmI32
|
|
43
37
|
```
|
|
44
38
|
|
|
45
39
|
### Bigint.**makeWrappedInt64**
|
|
46
40
|
|
|
47
41
|
```grain
|
|
48
|
-
makeWrappedInt64
|
|
42
|
+
makeWrappedInt64: (value: WasmI64) => WasmI32
|
|
49
43
|
```
|
|
50
44
|
|
|
51
45
|
### Bigint.**makeWrappedUint64**
|
|
52
46
|
|
|
53
47
|
```grain
|
|
54
|
-
makeWrappedUint64
|
|
48
|
+
makeWrappedUint64: (value: WasmI64) => WasmI32
|
|
55
49
|
```
|
|
56
50
|
|
|
57
51
|
### Bigint.**isNegative**
|
|
58
52
|
|
|
59
53
|
```grain
|
|
60
|
-
isNegative
|
|
54
|
+
isNegative: (num: WasmI32) => Bool
|
|
61
55
|
```
|
|
62
56
|
|
|
63
57
|
### Bigint.**eqz**
|
|
64
58
|
|
|
65
59
|
```grain
|
|
66
|
-
eqz
|
|
60
|
+
eqz: (num: WasmI32) => Bool
|
|
67
61
|
```
|
|
68
62
|
|
|
69
63
|
Returns true if the given bigint is equal to zero
|
|
@@ -71,270 +65,270 @@ Returns true if the given bigint is equal to zero
|
|
|
71
65
|
### Bigint.**negate**
|
|
72
66
|
|
|
73
67
|
```grain
|
|
74
|
-
negate
|
|
68
|
+
negate: (num: WasmI32) => WasmI32
|
|
75
69
|
```
|
|
76
70
|
|
|
77
71
|
### Bigint.**abs**
|
|
78
72
|
|
|
79
73
|
```grain
|
|
80
|
-
abs
|
|
74
|
+
abs: (num: WasmI32) => WasmI32
|
|
81
75
|
```
|
|
82
76
|
|
|
83
77
|
### Bigint.**canConvertToInt32**
|
|
84
78
|
|
|
85
79
|
```grain
|
|
86
|
-
canConvertToInt32
|
|
80
|
+
canConvertToInt32: (num: WasmI32) => Bool
|
|
87
81
|
```
|
|
88
82
|
|
|
89
83
|
### Bigint.**toInt32**
|
|
90
84
|
|
|
91
85
|
```grain
|
|
92
|
-
toInt32
|
|
86
|
+
toInt32: (num: WasmI32) => WasmI32
|
|
93
87
|
```
|
|
94
88
|
|
|
95
89
|
### Bigint.**canConvertToInt64**
|
|
96
90
|
|
|
97
91
|
```grain
|
|
98
|
-
canConvertToInt64
|
|
92
|
+
canConvertToInt64: (num: WasmI32) => Bool
|
|
99
93
|
```
|
|
100
94
|
|
|
101
95
|
### Bigint.**toInt64**
|
|
102
96
|
|
|
103
97
|
```grain
|
|
104
|
-
toInt64
|
|
98
|
+
toInt64: (num: WasmI32) => WasmI64
|
|
105
99
|
```
|
|
106
100
|
|
|
107
101
|
### Bigint.**toUnsignedInt64**
|
|
108
102
|
|
|
109
103
|
```grain
|
|
110
|
-
toUnsignedInt64
|
|
104
|
+
toUnsignedInt64: (num: WasmI32) => WasmI64
|
|
111
105
|
```
|
|
112
106
|
|
|
113
107
|
### Bigint.**toFloat64**
|
|
114
108
|
|
|
115
109
|
```grain
|
|
116
|
-
toFloat64
|
|
110
|
+
toFloat64: (num: WasmI32) => WasmF64
|
|
117
111
|
```
|
|
118
112
|
|
|
119
113
|
### Bigint.**toFloat32**
|
|
120
114
|
|
|
121
115
|
```grain
|
|
122
|
-
toFloat32
|
|
116
|
+
toFloat32: (num: WasmI32) => WasmF32
|
|
123
117
|
```
|
|
124
118
|
|
|
125
119
|
### Bigint.**cmpI64**
|
|
126
120
|
|
|
127
121
|
```grain
|
|
128
|
-
cmpI64
|
|
122
|
+
cmpI64: (num1: WasmI32, num2: WasmI64) => WasmI32
|
|
129
123
|
```
|
|
130
124
|
|
|
131
125
|
### Bigint.**cmpU64**
|
|
132
126
|
|
|
133
127
|
```grain
|
|
134
|
-
cmpU64
|
|
128
|
+
cmpU64: (num1: WasmI32, num2: WasmI64) => WasmI32
|
|
135
129
|
```
|
|
136
130
|
|
|
137
131
|
### Bigint.**cmpF64**
|
|
138
132
|
|
|
139
133
|
```grain
|
|
140
|
-
cmpF64
|
|
134
|
+
cmpF64: (num1: WasmI32, num2: WasmF64) => WasmI32
|
|
141
135
|
```
|
|
142
136
|
|
|
143
137
|
### Bigint.**cmpF32**
|
|
144
138
|
|
|
145
139
|
```grain
|
|
146
|
-
cmpF32
|
|
140
|
+
cmpF32: (num1: WasmI32, num2: WasmF32) => WasmI32
|
|
147
141
|
```
|
|
148
142
|
|
|
149
143
|
### Bigint.**cmp**
|
|
150
144
|
|
|
151
145
|
```grain
|
|
152
|
-
cmp
|
|
146
|
+
cmp: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
153
147
|
```
|
|
154
148
|
|
|
155
149
|
### Bigint.**eq**
|
|
156
150
|
|
|
157
151
|
```grain
|
|
158
|
-
eq
|
|
152
|
+
eq: (num1: WasmI32, num2: WasmI32) => Bool
|
|
159
153
|
```
|
|
160
154
|
|
|
161
155
|
### Bigint.**ne**
|
|
162
156
|
|
|
163
157
|
```grain
|
|
164
|
-
ne
|
|
158
|
+
ne: (num1: WasmI32, num2: WasmI32) => Bool
|
|
165
159
|
```
|
|
166
160
|
|
|
167
161
|
### Bigint.**lt**
|
|
168
162
|
|
|
169
163
|
```grain
|
|
170
|
-
lt
|
|
164
|
+
lt: (num1: WasmI32, num2: WasmI32) => Bool
|
|
171
165
|
```
|
|
172
166
|
|
|
173
167
|
### Bigint.**lte**
|
|
174
168
|
|
|
175
169
|
```grain
|
|
176
|
-
lte
|
|
170
|
+
lte: (num1: WasmI32, num2: WasmI32) => Bool
|
|
177
171
|
```
|
|
178
172
|
|
|
179
173
|
### Bigint.**gt**
|
|
180
174
|
|
|
181
175
|
```grain
|
|
182
|
-
gt
|
|
176
|
+
gt: (num1: WasmI32, num2: WasmI32) => Bool
|
|
183
177
|
```
|
|
184
178
|
|
|
185
179
|
### Bigint.**gte**
|
|
186
180
|
|
|
187
181
|
```grain
|
|
188
|
-
gte
|
|
182
|
+
gte: (num1: WasmI32, num2: WasmI32) => Bool
|
|
189
183
|
```
|
|
190
184
|
|
|
191
185
|
### Bigint.**bigIntToString**
|
|
192
186
|
|
|
193
187
|
```grain
|
|
194
|
-
bigIntToString
|
|
188
|
+
bigIntToString: (num: WasmI32, base: WasmI32) => String
|
|
195
189
|
```
|
|
196
190
|
|
|
197
191
|
### Bigint.**bigIntToString10**
|
|
198
192
|
|
|
199
193
|
```grain
|
|
200
|
-
bigIntToString10
|
|
194
|
+
bigIntToString10: (num: WasmI32) => String
|
|
201
195
|
```
|
|
202
196
|
|
|
203
197
|
### Bigint.**add**
|
|
204
198
|
|
|
205
199
|
```grain
|
|
206
|
-
add
|
|
200
|
+
add: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
207
201
|
```
|
|
208
202
|
|
|
209
203
|
### Bigint.**addInt**
|
|
210
204
|
|
|
211
205
|
```grain
|
|
212
|
-
addInt
|
|
206
|
+
addInt: (num1: WasmI32, int: WasmI64) => WasmI32
|
|
213
207
|
```
|
|
214
208
|
|
|
215
209
|
### Bigint.**sub**
|
|
216
210
|
|
|
217
211
|
```grain
|
|
218
|
-
sub
|
|
212
|
+
sub: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
219
213
|
```
|
|
220
214
|
|
|
221
215
|
### Bigint.**subInt**
|
|
222
216
|
|
|
223
217
|
```grain
|
|
224
|
-
subInt
|
|
218
|
+
subInt: (num1: WasmI32, int: WasmI64) => WasmI32
|
|
225
219
|
```
|
|
226
220
|
|
|
227
221
|
### Bigint.**incr**
|
|
228
222
|
|
|
229
223
|
```grain
|
|
230
|
-
incr
|
|
224
|
+
incr: (num: WasmI32) => WasmI32
|
|
231
225
|
```
|
|
232
226
|
|
|
233
227
|
### Bigint.**decr**
|
|
234
228
|
|
|
235
229
|
```grain
|
|
236
|
-
decr
|
|
230
|
+
decr: (num: WasmI32) => WasmI32
|
|
237
231
|
```
|
|
238
232
|
|
|
239
233
|
### Bigint.**mul**
|
|
240
234
|
|
|
241
235
|
```grain
|
|
242
|
-
mul
|
|
236
|
+
mul: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
243
237
|
```
|
|
244
238
|
|
|
245
239
|
### Bigint.**shl**
|
|
246
240
|
|
|
247
241
|
```grain
|
|
248
|
-
shl
|
|
242
|
+
shl: (num: WasmI32, places: WasmI32) => WasmI32
|
|
249
243
|
```
|
|
250
244
|
|
|
251
245
|
### Bigint.**shrS**
|
|
252
246
|
|
|
253
247
|
```grain
|
|
254
|
-
shrS
|
|
248
|
+
shrS: (num: WasmI32, places: WasmI32) => WasmI32
|
|
255
249
|
```
|
|
256
250
|
|
|
257
251
|
### Bigint.**bitwiseNot**
|
|
258
252
|
|
|
259
253
|
```grain
|
|
260
|
-
bitwiseNot
|
|
254
|
+
bitwiseNot: (num: WasmI32) => WasmI32
|
|
261
255
|
```
|
|
262
256
|
|
|
263
257
|
### Bigint.**bitwiseAnd**
|
|
264
258
|
|
|
265
259
|
```grain
|
|
266
|
-
bitwiseAnd
|
|
260
|
+
bitwiseAnd: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
267
261
|
```
|
|
268
262
|
|
|
269
263
|
### Bigint.**bitwiseOr**
|
|
270
264
|
|
|
271
265
|
```grain
|
|
272
|
-
bitwiseOr
|
|
266
|
+
bitwiseOr: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
273
267
|
```
|
|
274
268
|
|
|
275
269
|
### Bigint.**bitwiseXor**
|
|
276
270
|
|
|
277
271
|
```grain
|
|
278
|
-
bitwiseXor
|
|
272
|
+
bitwiseXor: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
279
273
|
```
|
|
280
274
|
|
|
281
275
|
### Bigint.**countLeadingZeros**
|
|
282
276
|
|
|
283
277
|
```grain
|
|
284
|
-
countLeadingZeros
|
|
278
|
+
countLeadingZeros: (num: WasmI32) => WasmI32
|
|
285
279
|
```
|
|
286
280
|
|
|
287
281
|
### Bigint.**countTrailingZeros**
|
|
288
282
|
|
|
289
283
|
```grain
|
|
290
|
-
countTrailingZeros
|
|
284
|
+
countTrailingZeros: (num: WasmI32) => WasmI64
|
|
291
285
|
```
|
|
292
286
|
|
|
293
287
|
### Bigint.**popcnt**
|
|
294
288
|
|
|
295
289
|
```grain
|
|
296
|
-
popcnt
|
|
290
|
+
popcnt: (num: WasmI32, flagDest: WasmI32) => WasmI64
|
|
297
291
|
```
|
|
298
292
|
|
|
299
293
|
### Bigint.**gcd**
|
|
300
294
|
|
|
301
295
|
```grain
|
|
302
|
-
gcd
|
|
296
|
+
gcd: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
303
297
|
```
|
|
304
298
|
|
|
305
299
|
### Bigint.**quotRem**
|
|
306
300
|
|
|
307
301
|
```grain
|
|
308
|
-
quotRem
|
|
302
|
+
quotRem: (num1: WasmI32, num2: WasmI32, dest: WasmI32) => Void
|
|
309
303
|
```
|
|
310
304
|
|
|
311
305
|
### Bigint.**divMod**
|
|
312
306
|
|
|
313
307
|
```grain
|
|
314
|
-
divMod
|
|
308
|
+
divMod: (num1: WasmI32, num2: WasmI32, dest: WasmI32) => Void
|
|
315
309
|
```
|
|
316
310
|
|
|
317
311
|
### Bigint.**quot**
|
|
318
312
|
|
|
319
313
|
```grain
|
|
320
|
-
quot
|
|
314
|
+
quot: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
321
315
|
```
|
|
322
316
|
|
|
323
317
|
### Bigint.**div**
|
|
324
318
|
|
|
325
319
|
```grain
|
|
326
|
-
div
|
|
320
|
+
div: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
327
321
|
```
|
|
328
322
|
|
|
329
323
|
### Bigint.**rem**
|
|
330
324
|
|
|
331
325
|
```grain
|
|
332
|
-
rem
|
|
326
|
+
rem: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
333
327
|
```
|
|
334
328
|
|
|
335
329
|
### Bigint.**mod**
|
|
336
330
|
|
|
337
331
|
```grain
|
|
338
|
-
mod
|
|
332
|
+
mod: (num1: WasmI32, num2: WasmI32) => WasmI32
|
|
339
333
|
```
|
|
340
334
|
|
package/runtime/compare.gr
CHANGED
|
@@ -188,8 +188,8 @@ and compareHelp = (x, y) => {
|
|
|
188
188
|
} else if (xtag == Tags._GRAIN_SHORTVAL_TAG_TYPE) {
|
|
189
189
|
let shortValTag = x & Tags._GRAIN_GENERIC_SHORTVAL_TAG_MASK
|
|
190
190
|
if (
|
|
191
|
-
shortValTag == Tags._GRAIN_INT8_TAG_MASK
|
|
192
|
-
shortValTag == Tags._GRAIN_INT16_TAG_MASK
|
|
191
|
+
shortValTag == Tags._GRAIN_INT8_TAG_MASK
|
|
192
|
+
|| shortValTag == Tags._GRAIN_INT16_TAG_MASK
|
|
193
193
|
) {
|
|
194
194
|
if (x < y) {
|
|
195
195
|
-1
|
package/runtime/compare.md
CHANGED
|
@@ -14,7 +14,7 @@ No other changes yet.
|
|
|
14
14
|
</details>
|
|
15
15
|
|
|
16
16
|
```grain
|
|
17
|
-
compare
|
|
17
|
+
compare: (num1: a, num2: a) => Number
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Compares the first argument to the second argument and produces an integer result.
|
|
@@ -23,14 +23,14 @@ Provides a consistent ordering over all types and is suitable for sorting and ot
|
|
|
23
23
|
|
|
24
24
|
Parameters:
|
|
25
25
|
|
|
26
|
-
|param|type|description|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
| param | type | description |
|
|
27
|
+
| ------ | ---- | ------------------ |
|
|
28
|
+
| `num1` | `a` | The first operand |
|
|
29
|
+
| `num2` | `a` | The second operand |
|
|
30
30
|
|
|
31
31
|
Returns:
|
|
32
32
|
|
|
33
|
-
|type|description|
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
| type | description |
|
|
34
|
+
| -------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
35
|
+
| `Number` | A negative integer if the first operand is less than the second operand, `0` if they are equal, or a positive integer otherwise |
|
|
36
36
|
|