@grain/stdlib 0.5.13 → 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.
Files changed (155) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/LICENSE +1 -1
  3. package/README.md +25 -2
  4. package/array.gr +1512 -199
  5. package/array.md +2032 -94
  6. package/bigint.gr +239 -140
  7. package/bigint.md +450 -106
  8. package/buffer.gr +595 -102
  9. package/buffer.md +903 -145
  10. package/bytes.gr +401 -110
  11. package/bytes.md +551 -63
  12. package/char.gr +228 -49
  13. package/char.md +373 -7
  14. package/exception.gr +26 -12
  15. package/exception.md +29 -5
  16. package/float32.gr +130 -109
  17. package/float32.md +185 -57
  18. package/float64.gr +112 -99
  19. package/float64.md +185 -57
  20. package/hash.gr +47 -37
  21. package/hash.md +21 -3
  22. package/int16.gr +430 -0
  23. package/int16.md +618 -0
  24. package/int32.gr +200 -269
  25. package/int32.md +254 -289
  26. package/int64.gr +142 -225
  27. package/int64.md +254 -289
  28. package/int8.gr +511 -0
  29. package/int8.md +786 -0
  30. package/json.gr +2084 -0
  31. package/json.md +608 -0
  32. package/list.gr +120 -68
  33. package/list.md +125 -80
  34. package/map.gr +560 -57
  35. package/map.md +672 -56
  36. package/marshal.gr +239 -227
  37. package/marshal.md +36 -4
  38. package/number.gr +626 -676
  39. package/number.md +738 -153
  40. package/option.gr +33 -35
  41. package/option.md +58 -42
  42. package/package.json +2 -2
  43. package/path.gr +148 -187
  44. package/path.md +47 -96
  45. package/pervasives.gr +75 -416
  46. package/pervasives.md +85 -180
  47. package/priorityqueue.gr +433 -74
  48. package/priorityqueue.md +422 -54
  49. package/queue.gr +362 -80
  50. package/queue.md +433 -38
  51. package/random.gr +67 -75
  52. package/random.md +68 -40
  53. package/range.gr +135 -63
  54. package/range.md +198 -43
  55. package/rational.gr +284 -0
  56. package/rational.md +545 -0
  57. package/regex.gr +933 -1066
  58. package/regex.md +59 -60
  59. package/result.gr +23 -25
  60. package/result.md +54 -39
  61. package/runtime/atof/common.gr +78 -82
  62. package/runtime/atof/common.md +22 -10
  63. package/runtime/atof/decimal.gr +102 -127
  64. package/runtime/atof/decimal.md +28 -7
  65. package/runtime/atof/lemire.gr +56 -71
  66. package/runtime/atof/lemire.md +9 -1
  67. package/runtime/atof/parse.gr +83 -110
  68. package/runtime/atof/parse.md +12 -2
  69. package/runtime/atof/slow.gr +28 -35
  70. package/runtime/atof/slow.md +9 -1
  71. package/runtime/atof/table.gr +19 -18
  72. package/runtime/atof/table.md +10 -2
  73. package/runtime/atoi/parse.gr +153 -136
  74. package/runtime/atoi/parse.md +50 -1
  75. package/runtime/bigint.gr +410 -517
  76. package/runtime/bigint.md +71 -57
  77. package/runtime/compare.gr +176 -85
  78. package/runtime/compare.md +31 -1
  79. package/runtime/dataStructures.gr +144 -32
  80. package/runtime/dataStructures.md +267 -31
  81. package/runtime/debugPrint.gr +34 -15
  82. package/runtime/debugPrint.md +37 -5
  83. package/runtime/equal.gr +53 -52
  84. package/runtime/equal.md +30 -1
  85. package/runtime/exception.gr +38 -47
  86. package/runtime/exception.md +10 -8
  87. package/runtime/gc.gr +23 -152
  88. package/runtime/gc.md +13 -17
  89. package/runtime/malloc.gr +31 -31
  90. package/runtime/malloc.md +11 -3
  91. package/runtime/numberUtils.gr +191 -172
  92. package/runtime/numberUtils.md +17 -9
  93. package/runtime/numbers.gr +1695 -1021
  94. package/runtime/numbers.md +1098 -134
  95. package/runtime/string.gr +540 -242
  96. package/runtime/string.md +76 -6
  97. package/runtime/unsafe/constants.gr +30 -13
  98. package/runtime/unsafe/constants.md +80 -0
  99. package/runtime/unsafe/conv.gr +55 -28
  100. package/runtime/unsafe/conv.md +41 -9
  101. package/runtime/unsafe/memory.gr +10 -30
  102. package/runtime/unsafe/memory.md +15 -19
  103. package/runtime/unsafe/tags.gr +37 -21
  104. package/runtime/unsafe/tags.md +88 -8
  105. package/runtime/unsafe/wasmf32.gr +30 -36
  106. package/runtime/unsafe/wasmf32.md +64 -56
  107. package/runtime/unsafe/wasmf64.gr +30 -36
  108. package/runtime/unsafe/wasmf64.md +64 -56
  109. package/runtime/unsafe/wasmi32.gr +49 -66
  110. package/runtime/unsafe/wasmi32.md +102 -94
  111. package/runtime/unsafe/wasmi64.gr +52 -79
  112. package/runtime/unsafe/wasmi64.md +108 -100
  113. package/runtime/utils/printing.gr +13 -15
  114. package/runtime/utils/printing.md +11 -3
  115. package/runtime/wasi.gr +294 -295
  116. package/runtime/wasi.md +62 -42
  117. package/set.gr +574 -64
  118. package/set.md +634 -54
  119. package/stack.gr +181 -64
  120. package/stack.md +271 -42
  121. package/string.gr +453 -533
  122. package/string.md +241 -151
  123. package/uint16.gr +369 -0
  124. package/uint16.md +585 -0
  125. package/uint32.gr +470 -0
  126. package/uint32.md +737 -0
  127. package/uint64.gr +471 -0
  128. package/uint64.md +737 -0
  129. package/uint8.gr +369 -0
  130. package/uint8.md +585 -0
  131. package/uri.gr +1093 -0
  132. package/uri.md +477 -0
  133. package/{sys → wasi}/file.gr +914 -500
  134. package/{sys → wasi}/file.md +454 -50
  135. package/wasi/process.gr +292 -0
  136. package/{sys → wasi}/process.md +164 -6
  137. package/wasi/random.gr +77 -0
  138. package/wasi/random.md +80 -0
  139. package/{sys → wasi}/time.gr +15 -22
  140. package/{sys → wasi}/time.md +5 -5
  141. package/immutablearray.gr +0 -929
  142. package/immutablearray.md +0 -1038
  143. package/immutablemap.gr +0 -493
  144. package/immutablemap.md +0 -479
  145. package/immutablepriorityqueue.gr +0 -360
  146. package/immutablepriorityqueue.md +0 -291
  147. package/immutableset.gr +0 -498
  148. package/immutableset.md +0 -449
  149. package/runtime/debug.gr +0 -2
  150. package/runtime/debug.md +0 -6
  151. package/runtime/unsafe/errors.gr +0 -36
  152. package/runtime/unsafe/errors.md +0 -204
  153. package/sys/process.gr +0 -254
  154. package/sys/random.gr +0 -79
  155. package/sys/random.md +0 -66
@@ -1,282 +1,290 @@
1
- ### Wasmi32.**load**
1
+ ---
2
+ title: WasmI32
3
+ ---
4
+
5
+ ## Values
6
+
7
+ Functions and constants included in the WasmI32 module.
8
+
9
+ ### WasmI32.**load**
2
10
 
3
11
  ```grain
4
- load : (WasmI32, WasmI32) -> WasmI32
12
+ load : (ptr: WasmI32, offset: WasmI32) => WasmI32
5
13
  ```
6
14
 
7
- ### Wasmi32.**load8S**
15
+ ### WasmI32.**load8S**
8
16
 
9
17
  ```grain
10
- load8S : (WasmI32, WasmI32) -> WasmI32
18
+ load8S : (ptr: WasmI32, offset: WasmI32) => WasmI32
11
19
  ```
12
20
 
13
- ### Wasmi32.**load8U**
21
+ ### WasmI32.**load8U**
14
22
 
15
23
  ```grain
16
- load8U : (WasmI32, WasmI32) -> WasmI32
24
+ load8U : (ptr: WasmI32, offset: WasmI32) => WasmI32
17
25
  ```
18
26
 
19
- ### Wasmi32.**load16S**
27
+ ### WasmI32.**load16S**
20
28
 
21
29
  ```grain
22
- load16S : (WasmI32, WasmI32) -> WasmI32
30
+ load16S : (ptr: WasmI32, offset: WasmI32) => WasmI32
23
31
  ```
24
32
 
25
- ### Wasmi32.**load16U**
33
+ ### WasmI32.**load16U**
26
34
 
27
35
  ```grain
28
- load16U : (WasmI32, WasmI32) -> WasmI32
36
+ load16U : (ptr: WasmI32, offset: WasmI32) => WasmI32
29
37
  ```
30
38
 
31
- ### Wasmi32.**store**
39
+ ### WasmI32.**store**
32
40
 
33
41
  ```grain
34
- store : (WasmI32, WasmI32, WasmI32) -> Void
42
+ store : (ptr: WasmI32, value: WasmI32, offset: WasmI32) => Void
35
43
  ```
36
44
 
37
- ### Wasmi32.**store8**
45
+ ### WasmI32.**store8**
38
46
 
39
47
  ```grain
40
- store8 : (WasmI32, WasmI32, WasmI32) -> Void
48
+ store8 : (ptr: WasmI32, value: WasmI32, offset: WasmI32) => Void
41
49
  ```
42
50
 
43
- ### Wasmi32.**store16**
51
+ ### WasmI32.**store16**
44
52
 
45
53
  ```grain
46
- store16 : (WasmI32, WasmI32, WasmI32) -> Void
54
+ store16 : (ptr: WasmI32, value: WasmI32, offset: WasmI32) => Void
47
55
  ```
48
56
 
49
- ### Wasmi32.**clz**
57
+ ### WasmI32.**clz**
50
58
 
51
59
  ```grain
52
- clz : WasmI32 -> WasmI32
60
+ clz : (num: WasmI32) => WasmI32
53
61
  ```
54
62
 
55
- ### Wasmi32.**ctz**
63
+ ### WasmI32.**ctz**
56
64
 
57
65
  ```grain
58
- ctz : WasmI32 -> WasmI32
66
+ ctz : (num: WasmI32) => WasmI32
59
67
  ```
60
68
 
61
- ### Wasmi32.**popcnt**
69
+ ### WasmI32.**popcnt**
62
70
 
63
71
  ```grain
64
- popcnt : WasmI32 -> WasmI32
72
+ popcnt : (num: WasmI32) => WasmI32
65
73
  ```
66
74
 
67
- ### Wasmi32.**eqz**
75
+ ### WasmI32.**eqz**
68
76
 
69
77
  ```grain
70
- eqz : WasmI32 -> Bool
78
+ eqz : (num: WasmI32) => Bool
71
79
  ```
72
80
 
73
- ### Wasmi32.**add**
81
+ ### WasmI32.**(+)**
74
82
 
75
83
  ```grain
76
- add : (WasmI32, WasmI32) -> WasmI32
84
+ (+) : (left: WasmI32, right: WasmI32) => WasmI32
77
85
  ```
78
86
 
79
- ### Wasmi32.**sub**
87
+ ### WasmI32.**(-)**
80
88
 
81
89
  ```grain
82
- sub : (WasmI32, WasmI32) -> WasmI32
90
+ (-) : (left: WasmI32, right: WasmI32) => WasmI32
83
91
  ```
84
92
 
85
- ### Wasmi32.**mul**
93
+ ### WasmI32.**(*)**
86
94
 
87
95
  ```grain
88
- mul : (WasmI32, WasmI32) -> WasmI32
96
+ (*) : (left: WasmI32, right: WasmI32) => WasmI32
89
97
  ```
90
98
 
91
- ### Wasmi32.**divS**
99
+ ### WasmI32.**(/)**
92
100
 
93
101
  ```grain
94
- divS : (WasmI32, WasmI32) -> WasmI32
102
+ (/) : (left: WasmI32, right: WasmI32) => WasmI32
95
103
  ```
96
104
 
97
- ### Wasmi32.**divU**
105
+ ### WasmI32.**divU**
98
106
 
99
107
  ```grain
100
- divU : (WasmI32, WasmI32) -> WasmI32
108
+ divU : (left: WasmI32, right: WasmI32) => WasmI32
101
109
  ```
102
110
 
103
- ### Wasmi32.**remS**
111
+ ### WasmI32.**remS**
104
112
 
105
113
  ```grain
106
- remS : (WasmI32, WasmI32) -> WasmI32
114
+ remS : (left: WasmI32, right: WasmI32) => WasmI32
107
115
  ```
108
116
 
109
- ### Wasmi32.**remU**
117
+ ### WasmI32.**remU**
110
118
 
111
119
  ```grain
112
- remU : (WasmI32, WasmI32) -> WasmI32
120
+ remU : (left: WasmI32, right: WasmI32) => WasmI32
113
121
  ```
114
122
 
115
- ### Wasmi32.**and**
123
+ ### WasmI32.**(&)**
116
124
 
117
125
  ```grain
118
- and : (WasmI32, WasmI32) -> WasmI32
126
+ (&) : (left: WasmI32, right: WasmI32) => WasmI32
119
127
  ```
120
128
 
121
- ### Wasmi32.**or**
129
+ ### WasmI32.**(|)**
122
130
 
123
131
  ```grain
124
- or : (WasmI32, WasmI32) -> WasmI32
132
+ (|) : (left: WasmI32, right: WasmI32) => WasmI32
125
133
  ```
126
134
 
127
- ### Wasmi32.**xor**
135
+ ### WasmI32.**(^)**
128
136
 
129
137
  ```grain
130
- xor : (WasmI32, WasmI32) -> WasmI32
138
+ (^) : (left: WasmI32, right: WasmI32) => WasmI32
131
139
  ```
132
140
 
133
- ### Wasmi32.**shl**
141
+ ### WasmI32.**(<<)**
134
142
 
135
143
  ```grain
136
- shl : (WasmI32, WasmI32) -> WasmI32
144
+ (<<) : (left: WasmI32, right: WasmI32) => WasmI32
137
145
  ```
138
146
 
139
- ### Wasmi32.**shrS**
147
+ ### WasmI32.**(>>)**
140
148
 
141
149
  ```grain
142
- shrS : (WasmI32, WasmI32) -> WasmI32
150
+ (>>) : (left: WasmI32, right: WasmI32) => WasmI32
143
151
  ```
144
152
 
145
- ### Wasmi32.**shrU**
153
+ ### WasmI32.**(>>>)**
146
154
 
147
155
  ```grain
148
- shrU : (WasmI32, WasmI32) -> WasmI32
156
+ (>>>) : (left: WasmI32, right: WasmI32) => WasmI32
149
157
  ```
150
158
 
151
- ### Wasmi32.**rotl**
159
+ ### WasmI32.**rotl**
152
160
 
153
161
  ```grain
154
- rotl : (WasmI32, WasmI32) -> WasmI32
162
+ rotl : (left: WasmI32, right: WasmI32) => WasmI32
155
163
  ```
156
164
 
157
- ### Wasmi32.**rotr**
165
+ ### WasmI32.**rotr**
158
166
 
159
167
  ```grain
160
- rotr : (WasmI32, WasmI32) -> WasmI32
168
+ rotr : (left: WasmI32, right: WasmI32) => WasmI32
161
169
  ```
162
170
 
163
- ### Wasmi32.**eq**
171
+ ### WasmI32.**(==)**
164
172
 
165
173
  ```grain
166
- eq : (WasmI32, WasmI32) -> Bool
174
+ (==) : (left: WasmI32, right: WasmI32) => Bool
167
175
  ```
168
176
 
169
- ### Wasmi32.**ne**
177
+ ### WasmI32.**(!=)**
170
178
 
171
179
  ```grain
172
- ne : (WasmI32, WasmI32) -> Bool
180
+ (!=) : (left: WasmI32, right: WasmI32) => Bool
173
181
  ```
174
182
 
175
- ### Wasmi32.**ltS**
183
+ ### WasmI32.**(<)**
176
184
 
177
185
  ```grain
178
- ltS : (WasmI32, WasmI32) -> Bool
186
+ (<) : (left: WasmI32, right: WasmI32) => Bool
179
187
  ```
180
188
 
181
- ### Wasmi32.**ltU**
189
+ ### WasmI32.**ltU**
182
190
 
183
191
  ```grain
184
- ltU : (WasmI32, WasmI32) -> Bool
192
+ ltU : (left: WasmI32, right: WasmI32) => Bool
185
193
  ```
186
194
 
187
- ### Wasmi32.**leS**
195
+ ### WasmI32.**(<=)**
188
196
 
189
197
  ```grain
190
- leS : (WasmI32, WasmI32) -> Bool
198
+ (<=) : (left: WasmI32, right: WasmI32) => Bool
191
199
  ```
192
200
 
193
- ### Wasmi32.**leU**
201
+ ### WasmI32.**leU**
194
202
 
195
203
  ```grain
196
- leU : (WasmI32, WasmI32) -> Bool
204
+ leU : (left: WasmI32, right: WasmI32) => Bool
197
205
  ```
198
206
 
199
- ### Wasmi32.**gtS**
207
+ ### WasmI32.**(>)**
200
208
 
201
209
  ```grain
202
- gtS : (WasmI32, WasmI32) -> Bool
210
+ (>) : (left: WasmI32, right: WasmI32) => Bool
203
211
  ```
204
212
 
205
- ### Wasmi32.**gtU**
213
+ ### WasmI32.**gtU**
206
214
 
207
215
  ```grain
208
- gtU : (WasmI32, WasmI32) -> Bool
216
+ gtU : (left: WasmI32, right: WasmI32) => Bool
209
217
  ```
210
218
 
211
- ### Wasmi32.**geS**
219
+ ### WasmI32.**(>=)**
212
220
 
213
221
  ```grain
214
- geS : (WasmI32, WasmI32) -> Bool
222
+ (>=) : (left: WasmI32, right: WasmI32) => Bool
215
223
  ```
216
224
 
217
- ### Wasmi32.**geU**
225
+ ### WasmI32.**geU**
218
226
 
219
227
  ```grain
220
- geU : (WasmI32, WasmI32) -> Bool
228
+ geU : (left: WasmI32, right: WasmI32) => Bool
221
229
  ```
222
230
 
223
- ### Wasmi32.**wrapI64**
231
+ ### WasmI32.**wrapI64**
224
232
 
225
233
  ```grain
226
- wrapI64 : WasmI64 -> WasmI32
234
+ wrapI64 : (num: WasmI64) => WasmI32
227
235
  ```
228
236
 
229
- ### Wasmi32.**truncF32S**
237
+ ### WasmI32.**truncF32S**
230
238
 
231
239
  ```grain
232
- truncF32S : WasmF32 -> WasmI32
240
+ truncF32S : (num: WasmF32) => WasmI32
233
241
  ```
234
242
 
235
- ### Wasmi32.**truncF32U**
243
+ ### WasmI32.**truncF32U**
236
244
 
237
245
  ```grain
238
- truncF32U : WasmF32 -> WasmI32
246
+ truncF32U : (num: WasmF32) => WasmI32
239
247
  ```
240
248
 
241
- ### Wasmi32.**truncF64S**
249
+ ### WasmI32.**truncF64S**
242
250
 
243
251
  ```grain
244
- truncF64S : WasmF64 -> WasmI32
252
+ truncF64S : (num: WasmF64) => WasmI32
245
253
  ```
246
254
 
247
- ### Wasmi32.**truncF64U**
255
+ ### WasmI32.**truncF64U**
248
256
 
249
257
  ```grain
250
- truncF64U : WasmF64 -> WasmI32
258
+ truncF64U : (num: WasmF64) => WasmI32
251
259
  ```
252
260
 
253
- ### Wasmi32.**reinterpretF32**
261
+ ### WasmI32.**reinterpretF32**
254
262
 
255
263
  ```grain
256
- reinterpretF32 : WasmF32 -> WasmI32
264
+ reinterpretF32 : (num: WasmF32) => WasmI32
257
265
  ```
258
266
 
259
- ### Wasmi32.**extendS8**
267
+ ### WasmI32.**extendS8**
260
268
 
261
269
  ```grain
262
- extendS8 : WasmI32 -> WasmI32
270
+ extendS8 : (num: WasmI32) => WasmI32
263
271
  ```
264
272
 
265
- ### Wasmi32.**extendS16**
273
+ ### WasmI32.**extendS16**
266
274
 
267
275
  ```grain
268
- extendS16 : WasmI32 -> WasmI32
276
+ extendS16 : (num: WasmI32) => WasmI32
269
277
  ```
270
278
 
271
- ### Wasmi32.**fromGrain**
279
+ ### WasmI32.**fromGrain**
272
280
 
273
281
  ```grain
274
- fromGrain : a -> WasmI32
282
+ fromGrain : (value: a) => WasmI32
275
283
  ```
276
284
 
277
- ### Wasmi32.**toGrain**
285
+ ### WasmI32.**toGrain**
278
286
 
279
287
  ```grain
280
- toGrain : WasmI32 -> a
288
+ toGrain : (value: WasmI32) => a
281
289
  ```
282
290
 
@@ -1,87 +1,60 @@
1
- /* grainc-flags --compilation-mode=runtime */
1
+ @runtimeMode
2
+ module WasmI64
2
3
 
3
4
  // WebAssembly Memory Instructions
4
- export primitive load: (WasmI32, WasmI32) -> WasmI64 = "@wasm.load_int64"
5
- export primitive load8S: (WasmI32, WasmI32) -> WasmI64 = "@wasm.load_8_s_int64"
6
- export primitive load8U: (WasmI32, WasmI32) -> WasmI64 = "@wasm.load_8_u_int64"
7
- export primitive load16S: (
8
- WasmI32,
9
- WasmI32,
10
- ) -> WasmI64 = "@wasm.load_16_s_int64"
11
- export primitive load16U: (
12
- WasmI32,
13
- WasmI32,
14
- ) -> WasmI64 = "@wasm.load_16_u_int64"
15
- export primitive load32S: (
16
- WasmI32,
17
- WasmI32,
18
- ) -> WasmI64 = "@wasm.load_32_s_int64"
19
- export primitive load32U: (
20
- WasmI32,
21
- WasmI32,
22
- ) -> WasmI64 = "@wasm.load_32_u_int64"
23
- export primitive store: (
24
- WasmI32,
25
- WasmI64,
26
- WasmI32,
27
- ) -> Void = "@wasm.store_int64"
28
- export primitive store8: (
29
- WasmI32,
30
- WasmI64,
31
- WasmI32,
32
- ) -> Void = "@wasm.store_8_int64"
33
- export primitive store16: (
34
- WasmI32,
35
- WasmI64,
36
- WasmI32,
37
- ) -> Void = "@wasm.store_16_int64"
38
- export primitive store32: (
39
- WasmI32,
40
- WasmI64,
41
- WasmI32,
42
- ) -> Void = "@wasm.store_32_int64"
5
+ provide primitive load = "@wasm.load_int64"
6
+ provide primitive load8S = "@wasm.load_8_s_int64"
7
+ provide primitive load8U = "@wasm.load_8_u_int64"
8
+ provide primitive load16S = "@wasm.load_16_s_int64"
9
+ provide primitive load16U = "@wasm.load_16_u_int64"
10
+ provide primitive load32S = "@wasm.load_32_s_int64"
11
+ provide primitive load32U = "@wasm.load_32_u_int64"
12
+ provide primitive store = "@wasm.store_int64"
13
+ provide primitive store8 = "@wasm.store_8_int64"
14
+ provide primitive store16 = "@wasm.store_16_int64"
15
+ provide primitive store32 = "@wasm.store_32_int64"
43
16
 
44
17
  // WebAssembly Unary Instructions
45
- export primitive clz: WasmI64 -> WasmI64 = "@wasm.clz_int64"
46
- export primitive ctz: WasmI64 -> WasmI64 = "@wasm.ctz_int64"
47
- export primitive popcnt: WasmI64 -> WasmI64 = "@wasm.popcnt_int64"
48
- export primitive eqz: WasmI64 -> Bool = "@wasm.eq_z_int64"
18
+ provide primitive clz = "@wasm.clz_int64"
19
+ provide primitive ctz = "@wasm.ctz_int64"
20
+ provide primitive popcnt = "@wasm.popcnt_int64"
21
+ provide primitive eqz = "@wasm.eq_z_int64"
49
22
 
50
23
  // WebAssembly Binary Instructions
51
- export primitive add: (WasmI64, WasmI64) -> WasmI64 = "@wasm.add_int64"
52
- export primitive sub: (WasmI64, WasmI64) -> WasmI64 = "@wasm.sub_int64"
53
- export primitive mul: (WasmI64, WasmI64) -> WasmI64 = "@wasm.mul_int64"
54
- export primitive divS: (WasmI64, WasmI64) -> WasmI64 = "@wasm.div_s_int64"
55
- export primitive divU: (WasmI64, WasmI64) -> WasmI64 = "@wasm.div_u_int64"
56
- export primitive remS: (WasmI64, WasmI64) -> WasmI64 = "@wasm.rem_s_int64"
57
- export primitive remU: (WasmI64, WasmI64) -> WasmI64 = "@wasm.rem_u_int64"
58
- export primitive and: (WasmI64, WasmI64) -> WasmI64 = "@wasm.and_int64"
59
- export primitive or: (WasmI64, WasmI64) -> WasmI64 = "@wasm.or_int64"
60
- export primitive xor: (WasmI64, WasmI64) -> WasmI64 = "@wasm.xor_int64"
61
- export primitive shl: (WasmI64, WasmI64) -> WasmI64 = "@wasm.shl_int64"
62
- export primitive shrU: (WasmI64, WasmI64) -> WasmI64 = "@wasm.shr_u_int64"
63
- export primitive shrS: (WasmI64, WasmI64) -> WasmI64 = "@wasm.shr_s_int64"
64
- export primitive rotl: (WasmI64, WasmI64) -> WasmI64 = "@wasm.rot_l_int64"
65
- export primitive rotr: (WasmI64, WasmI64) -> WasmI64 = "@wasm.rot_r_int64"
66
- export primitive eq: (WasmI64, WasmI64) -> Bool = "@wasm.eq_int64"
67
- export primitive ne: (WasmI64, WasmI64) -> Bool = "@wasm.ne_int64"
68
- export primitive ltS: (WasmI64, WasmI64) -> Bool = "@wasm.lt_s_int64"
69
- export primitive ltU: (WasmI64, WasmI64) -> Bool = "@wasm.lt_u_int64"
70
- export primitive leS: (WasmI64, WasmI64) -> Bool = "@wasm.le_s_int64"
71
- export primitive leU: (WasmI64, WasmI64) -> Bool = "@wasm.le_u_int64"
72
- export primitive gtS: (WasmI64, WasmI64) -> Bool = "@wasm.gt_s_int64"
73
- export primitive gtU: (WasmI64, WasmI64) -> Bool = "@wasm.gt_u_int64"
74
- export primitive geS: (WasmI64, WasmI64) -> Bool = "@wasm.ge_s_int64"
75
- export primitive geU: (WasmI64, WasmI64) -> Bool = "@wasm.ge_u_int64"
24
+ provide primitive (+) = "@wasm.add_int64"
25
+ provide primitive (-) = "@wasm.sub_int64"
26
+ provide primitive (*) = "@wasm.mul_int64"
27
+ provide primitive (/) = "@wasm.div_s_int64"
28
+ provide primitive divU = "@wasm.div_u_int64"
29
+ provide primitive remS = "@wasm.rem_s_int64"
30
+ provide primitive remU = "@wasm.rem_u_int64"
31
+ provide primitive (&) = "@wasm.and_int64"
32
+ provide primitive (|) = "@wasm.or_int64"
33
+ provide primitive (^) = "@wasm.xor_int64"
34
+ provide primitive (<<) = "@wasm.shl_int64"
35
+ provide primitive (>>>) = "@wasm.shr_u_int64"
36
+ provide primitive (>>) = "@wasm.shr_s_int64"
37
+ provide primitive rotl = "@wasm.rot_l_int64"
38
+ provide primitive rotr = "@wasm.rot_r_int64"
39
+ provide primitive (==) = "@wasm.eq_int64"
40
+ provide primitive (!=) = "@wasm.ne_int64"
41
+ provide primitive (<) = "@wasm.lt_s_int64"
42
+ provide primitive ltU = "@wasm.lt_u_int64"
43
+ provide primitive (<=) = "@wasm.le_s_int64"
44
+ provide primitive leU = "@wasm.le_u_int64"
45
+ provide primitive (>) = "@wasm.gt_s_int64"
46
+ provide primitive gtU = "@wasm.gt_u_int64"
47
+ provide primitive (>=) = "@wasm.ge_s_int64"
48
+ provide primitive geU = "@wasm.ge_u_int64"
76
49
 
77
50
  // WebAssembly Conversion instructions
78
- export primitive extendI32S: WasmI32 -> WasmI64 = "@wasm.extend_s_int32"
79
- export primitive extendI32U: WasmI32 -> WasmI64 = "@wasm.extend_u_int32"
80
- export primitive truncF32S: WasmF32 -> WasmI64 = "@wasm.trunc_s_float32_to_int64"
81
- export primitive truncF32U: WasmF32 -> WasmI64 = "@wasm.trunc_u_float32_to_int64"
82
- export primitive truncF64S: WasmF64 -> WasmI64 = "@wasm.trunc_s_float64_to_int64"
83
- export primitive truncF64U: WasmF64 -> WasmI64 = "@wasm.trunc_u_float64_to_int64"
84
- export primitive reinterpretF64: WasmF64 -> WasmI64 = "@wasm.reinterpret_float64"
85
- export primitive extendS8: WasmI64 -> WasmI64 = "@wasm.extend_s8_int64"
86
- export primitive extendS16: WasmI64 -> WasmI64 = "@wasm.extend_s16_int64"
87
- export primitive extendS32: WasmI64 -> WasmI64 = "@wasm.extend_s32_int64"
51
+ provide primitive extendI32S = "@wasm.extend_s_int32"
52
+ provide primitive extendI32U = "@wasm.extend_u_int32"
53
+ provide primitive truncF32S = "@wasm.trunc_s_float32_to_int64"
54
+ provide primitive truncF32U = "@wasm.trunc_u_float32_to_int64"
55
+ provide primitive truncF64S = "@wasm.trunc_s_float64_to_int64"
56
+ provide primitive truncF64U = "@wasm.trunc_u_float64_to_int64"
57
+ provide primitive reinterpretF64 = "@wasm.reinterpret_float64"
58
+ provide primitive extendS8 = "@wasm.extend_s8_int64"
59
+ provide primitive extendS16 = "@wasm.extend_s16_int64"
60
+ provide primitive extendS32 = "@wasm.extend_s32_int64"