@grain/stdlib 0.5.12 → 0.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/CHANGELOG.md +200 -0
- package/LICENSE +1 -1
- package/README.md +25 -2
- package/array.gr +1512 -199
- package/array.md +2032 -94
- package/bigint.gr +239 -140
- package/bigint.md +450 -106
- package/buffer.gr +595 -102
- package/buffer.md +903 -145
- package/bytes.gr +401 -110
- package/bytes.md +551 -63
- package/char.gr +228 -49
- package/char.md +373 -7
- package/exception.gr +26 -12
- package/exception.md +29 -5
- package/float32.gr +130 -109
- package/float32.md +185 -57
- package/float64.gr +112 -99
- package/float64.md +185 -57
- package/hash.gr +47 -37
- package/hash.md +21 -3
- package/int16.gr +430 -0
- package/int16.md +618 -0
- package/int32.gr +200 -269
- package/int32.md +254 -289
- package/int64.gr +142 -225
- package/int64.md +254 -289
- package/int8.gr +511 -0
- package/int8.md +786 -0
- package/json.gr +2084 -0
- package/json.md +608 -0
- package/list.gr +120 -68
- package/list.md +125 -80
- package/map.gr +560 -57
- package/map.md +672 -56
- package/marshal.gr +239 -227
- package/marshal.md +36 -4
- package/number.gr +626 -676
- package/number.md +738 -153
- package/option.gr +33 -35
- package/option.md +58 -42
- package/package.json +2 -2
- package/path.gr +148 -187
- package/path.md +47 -96
- package/pervasives.gr +75 -416
- package/pervasives.md +85 -180
- package/priorityqueue.gr +433 -74
- package/priorityqueue.md +422 -54
- package/queue.gr +362 -80
- package/queue.md +433 -38
- package/random.gr +67 -75
- package/random.md +68 -40
- package/range.gr +135 -63
- package/range.md +198 -43
- package/rational.gr +284 -0
- package/rational.md +545 -0
- package/regex.gr +933 -1066
- package/regex.md +59 -60
- package/result.gr +23 -25
- package/result.md +54 -39
- package/runtime/atof/common.gr +78 -82
- package/runtime/atof/common.md +22 -10
- package/runtime/atof/decimal.gr +102 -127
- package/runtime/atof/decimal.md +28 -7
- package/runtime/atof/lemire.gr +56 -71
- package/runtime/atof/lemire.md +9 -1
- package/runtime/atof/parse.gr +83 -110
- package/runtime/atof/parse.md +12 -2
- package/runtime/atof/slow.gr +28 -35
- package/runtime/atof/slow.md +9 -1
- package/runtime/atof/table.gr +19 -18
- package/runtime/atof/table.md +10 -2
- package/runtime/atoi/parse.gr +153 -136
- package/runtime/atoi/parse.md +50 -1
- package/runtime/bigint.gr +410 -517
- package/runtime/bigint.md +71 -57
- package/runtime/compare.gr +176 -85
- package/runtime/compare.md +31 -1
- package/runtime/dataStructures.gr +144 -32
- package/runtime/dataStructures.md +267 -31
- package/runtime/debugPrint.gr +34 -15
- package/runtime/debugPrint.md +37 -5
- package/runtime/equal.gr +53 -52
- package/runtime/equal.md +30 -1
- package/runtime/exception.gr +38 -47
- package/runtime/exception.md +10 -8
- package/runtime/gc.gr +23 -152
- package/runtime/gc.md +13 -17
- package/runtime/malloc.gr +31 -31
- package/runtime/malloc.md +11 -3
- package/runtime/numberUtils.gr +191 -172
- package/runtime/numberUtils.md +17 -9
- package/runtime/numbers.gr +1695 -1021
- package/runtime/numbers.md +1098 -134
- package/runtime/string.gr +540 -242
- package/runtime/string.md +76 -6
- package/runtime/unsafe/constants.gr +30 -13
- package/runtime/unsafe/constants.md +80 -0
- package/runtime/unsafe/conv.gr +55 -28
- package/runtime/unsafe/conv.md +41 -9
- package/runtime/unsafe/memory.gr +10 -30
- package/runtime/unsafe/memory.md +15 -19
- package/runtime/unsafe/tags.gr +37 -21
- package/runtime/unsafe/tags.md +88 -8
- package/runtime/unsafe/wasmf32.gr +30 -36
- package/runtime/unsafe/wasmf32.md +64 -56
- package/runtime/unsafe/wasmf64.gr +30 -36
- package/runtime/unsafe/wasmf64.md +64 -56
- package/runtime/unsafe/wasmi32.gr +49 -66
- package/runtime/unsafe/wasmi32.md +102 -94
- package/runtime/unsafe/wasmi64.gr +52 -79
- package/runtime/unsafe/wasmi64.md +108 -100
- package/runtime/utils/printing.gr +13 -15
- package/runtime/utils/printing.md +11 -3
- package/runtime/wasi.gr +294 -295
- package/runtime/wasi.md +62 -42
- package/set.gr +574 -64
- package/set.md +634 -54
- package/stack.gr +181 -64
- package/stack.md +271 -42
- package/string.gr +453 -533
- package/string.md +241 -151
- package/uint16.gr +369 -0
- package/uint16.md +585 -0
- package/uint32.gr +470 -0
- package/uint32.md +737 -0
- package/uint64.gr +471 -0
- package/uint64.md +737 -0
- package/uint8.gr +369 -0
- package/uint8.md +585 -0
- package/uri.gr +1093 -0
- package/uri.md +477 -0
- package/{sys → wasi}/file.gr +914 -500
- package/{sys → wasi}/file.md +454 -50
- package/wasi/process.gr +292 -0
- package/{sys → wasi}/process.md +164 -6
- package/wasi/random.gr +77 -0
- package/wasi/random.md +80 -0
- package/{sys → wasi}/time.gr +15 -22
- package/{sys → wasi}/time.md +5 -5
- package/immutablearray.gr +0 -929
- package/immutablearray.md +0 -1038
- package/immutablemap.gr +0 -493
- package/immutablemap.md +0 -479
- package/immutablepriorityqueue.gr +0 -360
- package/immutablepriorityqueue.md +0 -291
- package/immutableset.gr +0 -498
- package/immutableset.md +0 -449
- package/runtime/debug.gr +0 -2
- package/runtime/debug.md +0 -6
- package/runtime/unsafe/errors.gr +0 -36
- package/runtime/unsafe/errors.md +0 -204
- package/sys/process.gr +0 -254
- package/sys/random.gr +0 -79
- package/sys/random.md +0 -66
|
@@ -1,168 +1,176 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
title: WasmF64
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Values
|
|
6
|
+
|
|
7
|
+
Functions and constants included in the WasmF64 module.
|
|
8
|
+
|
|
9
|
+
### WasmF64.**load**
|
|
2
10
|
|
|
3
11
|
```grain
|
|
4
|
-
load : (WasmI32, WasmI32)
|
|
12
|
+
load : (ptr: WasmI32, offset: WasmI32) => WasmF64
|
|
5
13
|
```
|
|
6
14
|
|
|
7
|
-
###
|
|
15
|
+
### WasmF64.**store**
|
|
8
16
|
|
|
9
17
|
```grain
|
|
10
|
-
store : (WasmI32, WasmF64, WasmI32)
|
|
18
|
+
store : (ptr: WasmI32, value: WasmF64, offset: WasmI32) => Void
|
|
11
19
|
```
|
|
12
20
|
|
|
13
|
-
###
|
|
21
|
+
### WasmF64.**neg**
|
|
14
22
|
|
|
15
23
|
```grain
|
|
16
|
-
neg : WasmF64
|
|
24
|
+
neg : (num: WasmF64) => WasmF64
|
|
17
25
|
```
|
|
18
26
|
|
|
19
|
-
###
|
|
27
|
+
### WasmF64.**abs**
|
|
20
28
|
|
|
21
29
|
```grain
|
|
22
|
-
abs : WasmF64
|
|
30
|
+
abs : (num: WasmF64) => WasmF64
|
|
23
31
|
```
|
|
24
32
|
|
|
25
|
-
###
|
|
33
|
+
### WasmF64.**ceil**
|
|
26
34
|
|
|
27
35
|
```grain
|
|
28
|
-
ceil : WasmF64
|
|
36
|
+
ceil : (num: WasmF64) => WasmF64
|
|
29
37
|
```
|
|
30
38
|
|
|
31
|
-
###
|
|
39
|
+
### WasmF64.**floor**
|
|
32
40
|
|
|
33
41
|
```grain
|
|
34
|
-
floor : WasmF64
|
|
42
|
+
floor : (num: WasmF64) => WasmF64
|
|
35
43
|
```
|
|
36
44
|
|
|
37
|
-
###
|
|
45
|
+
### WasmF64.**trunc**
|
|
38
46
|
|
|
39
47
|
```grain
|
|
40
|
-
trunc : WasmF64
|
|
48
|
+
trunc : (num: WasmF64) => WasmF64
|
|
41
49
|
```
|
|
42
50
|
|
|
43
|
-
###
|
|
51
|
+
### WasmF64.**nearest**
|
|
44
52
|
|
|
45
53
|
```grain
|
|
46
|
-
nearest : WasmF64
|
|
54
|
+
nearest : (num: WasmF64) => WasmF64
|
|
47
55
|
```
|
|
48
56
|
|
|
49
|
-
###
|
|
57
|
+
### WasmF64.**sqrt**
|
|
50
58
|
|
|
51
59
|
```grain
|
|
52
|
-
sqrt : WasmF64
|
|
60
|
+
sqrt : (num: WasmF64) => WasmF64
|
|
53
61
|
```
|
|
54
62
|
|
|
55
|
-
###
|
|
63
|
+
### WasmF64.**(+)**
|
|
56
64
|
|
|
57
65
|
```grain
|
|
58
|
-
|
|
66
|
+
(+) : (left: WasmF64, right: WasmF64) => WasmF64
|
|
59
67
|
```
|
|
60
68
|
|
|
61
|
-
###
|
|
69
|
+
### WasmF64.**(-)**
|
|
62
70
|
|
|
63
71
|
```grain
|
|
64
|
-
|
|
72
|
+
(-) : (left: WasmF64, right: WasmF64) => WasmF64
|
|
65
73
|
```
|
|
66
74
|
|
|
67
|
-
###
|
|
75
|
+
### WasmF64.**(*)**
|
|
68
76
|
|
|
69
77
|
```grain
|
|
70
|
-
|
|
78
|
+
(*) : (left: WasmF64, right: WasmF64) => WasmF64
|
|
71
79
|
```
|
|
72
80
|
|
|
73
|
-
###
|
|
81
|
+
### WasmF64.**(/)**
|
|
74
82
|
|
|
75
83
|
```grain
|
|
76
|
-
|
|
84
|
+
(/) : (left: WasmF64, right: WasmF64) => WasmF64
|
|
77
85
|
```
|
|
78
86
|
|
|
79
|
-
###
|
|
87
|
+
### WasmF64.**copySign**
|
|
80
88
|
|
|
81
89
|
```grain
|
|
82
|
-
copySign : (WasmF64, WasmF64)
|
|
90
|
+
copySign : (left: WasmF64, right: WasmF64) => WasmF64
|
|
83
91
|
```
|
|
84
92
|
|
|
85
|
-
###
|
|
93
|
+
### WasmF64.**min**
|
|
86
94
|
|
|
87
95
|
```grain
|
|
88
|
-
min : (WasmF64, WasmF64)
|
|
96
|
+
min : (left: WasmF64, right: WasmF64) => WasmF64
|
|
89
97
|
```
|
|
90
98
|
|
|
91
|
-
###
|
|
99
|
+
### WasmF64.**max**
|
|
92
100
|
|
|
93
101
|
```grain
|
|
94
|
-
max : (WasmF64, WasmF64)
|
|
102
|
+
max : (left: WasmF64, right: WasmF64) => WasmF64
|
|
95
103
|
```
|
|
96
104
|
|
|
97
|
-
###
|
|
105
|
+
### WasmF64.**(==)**
|
|
98
106
|
|
|
99
107
|
```grain
|
|
100
|
-
|
|
108
|
+
(==) : (left: WasmF64, right: WasmF64) => Bool
|
|
101
109
|
```
|
|
102
110
|
|
|
103
|
-
###
|
|
111
|
+
### WasmF64.**(!=)**
|
|
104
112
|
|
|
105
113
|
```grain
|
|
106
|
-
|
|
114
|
+
(!=) : (left: WasmF64, right: WasmF64) => Bool
|
|
107
115
|
```
|
|
108
116
|
|
|
109
|
-
###
|
|
117
|
+
### WasmF64.**(<)**
|
|
110
118
|
|
|
111
119
|
```grain
|
|
112
|
-
|
|
120
|
+
(<) : (left: WasmF64, right: WasmF64) => Bool
|
|
113
121
|
```
|
|
114
122
|
|
|
115
|
-
###
|
|
123
|
+
### WasmF64.**(<=)**
|
|
116
124
|
|
|
117
125
|
```grain
|
|
118
|
-
|
|
126
|
+
(<=) : (left: WasmF64, right: WasmF64) => Bool
|
|
119
127
|
```
|
|
120
128
|
|
|
121
|
-
###
|
|
129
|
+
### WasmF64.**(>)**
|
|
122
130
|
|
|
123
131
|
```grain
|
|
124
|
-
|
|
132
|
+
(>) : (left: WasmF64, right: WasmF64) => Bool
|
|
125
133
|
```
|
|
126
134
|
|
|
127
|
-
###
|
|
135
|
+
### WasmF64.**(>=)**
|
|
128
136
|
|
|
129
137
|
```grain
|
|
130
|
-
|
|
138
|
+
(>=) : (left: WasmF64, right: WasmF64) => Bool
|
|
131
139
|
```
|
|
132
140
|
|
|
133
|
-
###
|
|
141
|
+
### WasmF64.**reinterpretI64**
|
|
134
142
|
|
|
135
143
|
```grain
|
|
136
|
-
reinterpretI64 : WasmI64
|
|
144
|
+
reinterpretI64 : (num: WasmI64) => WasmF64
|
|
137
145
|
```
|
|
138
146
|
|
|
139
|
-
###
|
|
147
|
+
### WasmF64.**convertI32S**
|
|
140
148
|
|
|
141
149
|
```grain
|
|
142
|
-
convertI32S : WasmI32
|
|
150
|
+
convertI32S : (num: WasmI32) => WasmF64
|
|
143
151
|
```
|
|
144
152
|
|
|
145
|
-
###
|
|
153
|
+
### WasmF64.**convertI32U**
|
|
146
154
|
|
|
147
155
|
```grain
|
|
148
|
-
convertI32U : WasmI32
|
|
156
|
+
convertI32U : (num: WasmI32) => WasmF64
|
|
149
157
|
```
|
|
150
158
|
|
|
151
|
-
###
|
|
159
|
+
### WasmF64.**convertI64S**
|
|
152
160
|
|
|
153
161
|
```grain
|
|
154
|
-
convertI64S : WasmI64
|
|
162
|
+
convertI64S : (num: WasmI64) => WasmF64
|
|
155
163
|
```
|
|
156
164
|
|
|
157
|
-
###
|
|
165
|
+
### WasmF64.**convertI64U**
|
|
158
166
|
|
|
159
167
|
```grain
|
|
160
|
-
convertI64U : WasmI64
|
|
168
|
+
convertI64U : (num: WasmI64) => WasmF64
|
|
161
169
|
```
|
|
162
170
|
|
|
163
|
-
###
|
|
171
|
+
### WasmF64.**promoteF32**
|
|
164
172
|
|
|
165
173
|
```grain
|
|
166
|
-
promoteF32 : WasmF32
|
|
174
|
+
promoteF32 : (num: WasmF32) => WasmF64
|
|
167
175
|
```
|
|
168
176
|
|
|
@@ -1,76 +1,59 @@
|
|
|
1
|
-
|
|
1
|
+
@runtimeMode
|
|
2
|
+
module WasmI32
|
|
2
3
|
|
|
3
4
|
// WebAssembly Memory Instructions
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
WasmI32,
|
|
13
|
-
WasmI32,
|
|
14
|
-
) -> WasmI32 = "@wasm.load_16_u_int32"
|
|
15
|
-
export primitive store: (
|
|
16
|
-
WasmI32,
|
|
17
|
-
WasmI32,
|
|
18
|
-
WasmI32,
|
|
19
|
-
) -> Void = "@wasm.store_int32"
|
|
20
|
-
export primitive store8: (
|
|
21
|
-
WasmI32,
|
|
22
|
-
WasmI32,
|
|
23
|
-
WasmI32,
|
|
24
|
-
) -> Void = "@wasm.store_8_int32"
|
|
25
|
-
export primitive store16: (
|
|
26
|
-
WasmI32,
|
|
27
|
-
WasmI32,
|
|
28
|
-
WasmI32,
|
|
29
|
-
) -> Void = "@wasm.store_16_int32"
|
|
5
|
+
provide primitive load = "@wasm.load_int32"
|
|
6
|
+
provide primitive load8S = "@wasm.load_8_s_int32"
|
|
7
|
+
provide primitive load8U = "@wasm.load_8_u_int32"
|
|
8
|
+
provide primitive load16S = "@wasm.load_16_s_int32"
|
|
9
|
+
provide primitive load16U = "@wasm.load_16_u_int32"
|
|
10
|
+
provide primitive store = "@wasm.store_int32"
|
|
11
|
+
provide primitive store8 = "@wasm.store_8_int32"
|
|
12
|
+
provide primitive store16 = "@wasm.store_16_int32"
|
|
30
13
|
|
|
31
14
|
// WebAssembly Unary Instructions
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
15
|
+
provide primitive clz = "@wasm.clz_int32"
|
|
16
|
+
provide primitive ctz = "@wasm.ctz_int32"
|
|
17
|
+
provide primitive popcnt = "@wasm.popcnt_int32"
|
|
18
|
+
provide primitive eqz = "@wasm.eq_z_int32"
|
|
36
19
|
|
|
37
20
|
// WebAssembly Binary Instructions
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
21
|
+
provide primitive (+) = "@wasm.add_int32"
|
|
22
|
+
provide primitive (-) = "@wasm.sub_int32"
|
|
23
|
+
provide primitive (*) = "@wasm.mul_int32"
|
|
24
|
+
provide primitive (/) = "@wasm.div_s_int32"
|
|
25
|
+
provide primitive divU = "@wasm.div_u_int32"
|
|
26
|
+
provide primitive remS = "@wasm.rem_s_int32"
|
|
27
|
+
provide primitive remU = "@wasm.rem_u_int32"
|
|
28
|
+
provide primitive (&) = "@wasm.and_int32"
|
|
29
|
+
provide primitive (|) = "@wasm.or_int32"
|
|
30
|
+
provide primitive (^) = "@wasm.xor_int32"
|
|
31
|
+
provide primitive (<<) = "@wasm.shl_int32"
|
|
32
|
+
provide primitive (>>) = "@wasm.shr_s_int32"
|
|
33
|
+
provide primitive (>>>) = "@wasm.shr_u_int32"
|
|
34
|
+
provide primitive rotl = "@wasm.rot_l_int32"
|
|
35
|
+
provide primitive rotr = "@wasm.rot_r_int32"
|
|
36
|
+
provide primitive (==) = "@wasm.eq_int32"
|
|
37
|
+
provide primitive (!=) = "@wasm.ne_int32"
|
|
38
|
+
provide primitive (<) = "@wasm.lt_s_int32"
|
|
39
|
+
provide primitive ltU = "@wasm.lt_u_int32"
|
|
40
|
+
provide primitive (<=) = "@wasm.le_s_int32"
|
|
41
|
+
provide primitive leU = "@wasm.le_u_int32"
|
|
42
|
+
provide primitive (>) = "@wasm.gt_s_int32"
|
|
43
|
+
provide primitive gtU = "@wasm.gt_u_int32"
|
|
44
|
+
provide primitive (>=) = "@wasm.ge_s_int32"
|
|
45
|
+
provide primitive geU = "@wasm.ge_u_int32"
|
|
63
46
|
|
|
64
47
|
// WebAssembly Conversion Instructions
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
48
|
+
provide primitive wrapI64 = "@wasm.wrap_int64"
|
|
49
|
+
provide primitive truncF32S = "@wasm.trunc_s_float32_to_int32"
|
|
50
|
+
provide primitive truncF32U = "@wasm.trunc_u_float32_to_int32"
|
|
51
|
+
provide primitive truncF64S = "@wasm.trunc_s_float64_to_int32"
|
|
52
|
+
provide primitive truncF64U = "@wasm.trunc_u_float64_to_int32"
|
|
53
|
+
provide primitive reinterpretF32 = "@wasm.reinterpret_float32"
|
|
54
|
+
provide primitive extendS8 = "@wasm.extend_s8_int32"
|
|
55
|
+
provide primitive extendS16 = "@wasm.extend_s16_int32"
|
|
73
56
|
|
|
74
57
|
// Grain Conversions
|
|
75
|
-
|
|
76
|
-
|
|
58
|
+
provide primitive fromGrain = "@wasm.fromGrain"
|
|
59
|
+
provide primitive toGrain = "@wasm.toGrain"
|