1 (* Copyright (C
) 1999-2007 Henry Cejtin
, Matthew Fluet
, Suresh
2 * Jagannathan
, and Stephen Weeks
.
3 * Copyright (C
) 1997-2000 NEC Research Institute
.
5 * MLton is released under a BSD
-style license
.
6 * See the file MLton
-LICENSE for details
.
9 (* Primitive names are special
-- see atoms
/prim
.fun. *)
11 signature PRIM_INTWORD_CONV
=
14 val idFromInt8ToInt8
: Primitive
.Int8
.int -> Primitive
.Int8
.int
15 val idFromInt8ToWord8
: Primitive
.Int8
.int -> Primitive
.Word8.word
16 val idFromInt16ToInt16
: Primitive
.Int16
.int -> Primitive
.Int16
.int
17 val idFromInt16ToWord16
: Primitive
.Int16
.int -> Primitive
.Word16
.word
18 val idFromInt32ToInt32
: Primitive
.Int32
.int -> Primitive
.Int32
.int
19 val idFromInt32ToWord32
: Primitive
.Int32
.int -> Primitive
.Word32
.word
20 val idFromInt64ToInt64
: Primitive
.Int64
.int -> Primitive
.Int64
.int
21 val idFromInt64ToWord64
: Primitive
.Int64
.int -> Primitive
.Word64
.word
22 val idFromWord8ToInt8
: Primitive
.Word8.word -> Primitive
.Int8
.int
23 val idFromWord8ToWord8
: Primitive
.Word8.word -> Primitive
.Word8.word
24 val idFromWord16ToInt16
: Primitive
.Word16
.word -> Primitive
.Int16
.int
25 val idFromWord16ToWord16
: Primitive
.Word16
.word -> Primitive
.Word16
.word
26 val idFromWord32ToInt32
: Primitive
.Word32
.word -> Primitive
.Int32
.int
27 val idFromWord32ToWord32
: Primitive
.Word32
.word -> Primitive
.Word32
.word
28 val idFromWord64ToInt64
: Primitive
.Word64
.word -> Primitive
.Int64
.int
29 val idFromWord64ToWord64
: Primitive
.Word64
.word -> Primitive
.Word64
.word
31 (* zero
-extend or low
-bits
*)
32 val zextdFromInt8ToInt8
: Primitive
.Int8
.int -> Primitive
.Int8
.int
33 val zextdFromInt8ToInt16
: Primitive
.Int8
.int -> Primitive
.Int16
.int
34 val zextdFromInt8ToInt32
: Primitive
.Int8
.int -> Primitive
.Int32
.int
35 val zextdFromInt8ToInt64
: Primitive
.Int8
.int -> Primitive
.Int64
.int
36 val zextdFromInt8ToWord8
: Primitive
.Int8
.int -> Primitive
.Word8.word
37 val zextdFromInt8ToWord16
: Primitive
.Int8
.int -> Primitive
.Word16
.word
38 val zextdFromInt8ToWord32
: Primitive
.Int8
.int -> Primitive
.Word32
.word
39 val zextdFromInt8ToWord64
: Primitive
.Int8
.int -> Primitive
.Word64
.word
41 val zextdFromInt16ToInt8
: Primitive
.Int16
.int -> Primitive
.Int8
.int
42 val zextdFromInt16ToInt16
: Primitive
.Int16
.int -> Primitive
.Int16
.int
43 val zextdFromInt16ToInt32
: Primitive
.Int16
.int -> Primitive
.Int32
.int
44 val zextdFromInt16ToInt64
: Primitive
.Int16
.int -> Primitive
.Int64
.int
45 val zextdFromInt16ToWord8
: Primitive
.Int16
.int -> Primitive
.Word8.word
46 val zextdFromInt16ToWord16
: Primitive
.Int16
.int -> Primitive
.Word16
.word
47 val zextdFromInt16ToWord32
: Primitive
.Int16
.int -> Primitive
.Word32
.word
48 val zextdFromInt16ToWord64
: Primitive
.Int16
.int -> Primitive
.Word64
.word
50 val zextdFromInt32ToInt8
: Primitive
.Int32
.int -> Primitive
.Int8
.int
51 val zextdFromInt32ToInt16
: Primitive
.Int32
.int -> Primitive
.Int16
.int
52 val zextdFromInt32ToInt32
: Primitive
.Int32
.int -> Primitive
.Int32
.int
53 val zextdFromInt32ToInt64
: Primitive
.Int32
.int -> Primitive
.Int64
.int
54 val zextdFromInt32ToWord8
: Primitive
.Int32
.int -> Primitive
.Word8.word
55 val zextdFromInt32ToWord16
: Primitive
.Int32
.int -> Primitive
.Word16
.word
56 val zextdFromInt32ToWord32
: Primitive
.Int32
.int -> Primitive
.Word32
.word
57 val zextdFromInt32ToWord64
: Primitive
.Int32
.int -> Primitive
.Word64
.word
59 val zextdFromInt64ToInt8
: Primitive
.Int64
.int -> Primitive
.Int8
.int
60 val zextdFromInt64ToInt16
: Primitive
.Int64
.int -> Primitive
.Int16
.int
61 val zextdFromInt64ToInt32
: Primitive
.Int64
.int -> Primitive
.Int32
.int
62 val zextdFromInt64ToInt64
: Primitive
.Int64
.int -> Primitive
.Int64
.int
63 val zextdFromInt64ToWord8
: Primitive
.Int64
.int -> Primitive
.Word8.word
64 val zextdFromInt64ToWord16
: Primitive
.Int64
.int -> Primitive
.Word16
.word
65 val zextdFromInt64ToWord32
: Primitive
.Int64
.int -> Primitive
.Word32
.word
66 val zextdFromInt64ToWord64
: Primitive
.Int64
.int -> Primitive
.Word64
.word
68 val zextdFromWord8ToInt8
: Primitive
.Word8.word -> Primitive
.Int8
.int
69 val zextdFromWord8ToInt16
: Primitive
.Word8.word -> Primitive
.Int16
.int
70 val zextdFromWord8ToInt32
: Primitive
.Word8.word -> Primitive
.Int32
.int
71 val zextdFromWord8ToInt64
: Primitive
.Word8.word -> Primitive
.Int64
.int
72 val zextdFromWord8ToWord8
: Primitive
.Word8.word -> Primitive
.Word8.word
73 val zextdFromWord8ToWord16
: Primitive
.Word8.word -> Primitive
.Word16
.word
74 val zextdFromWord8ToWord32
: Primitive
.Word8.word -> Primitive
.Word32
.word
75 val zextdFromWord8ToWord64
: Primitive
.Word8.word -> Primitive
.Word64
.word
77 val zextdFromWord16ToInt8
: Primitive
.Word16
.word -> Primitive
.Int8
.int
78 val zextdFromWord16ToInt16
: Primitive
.Word16
.word -> Primitive
.Int16
.int
79 val zextdFromWord16ToInt32
: Primitive
.Word16
.word -> Primitive
.Int32
.int
80 val zextdFromWord16ToInt64
: Primitive
.Word16
.word -> Primitive
.Int64
.int
81 val zextdFromWord16ToWord8
: Primitive
.Word16
.word -> Primitive
.Word8.word
82 val zextdFromWord16ToWord16
: Primitive
.Word16
.word -> Primitive
.Word16
.word
83 val zextdFromWord16ToWord32
: Primitive
.Word16
.word -> Primitive
.Word32
.word
84 val zextdFromWord16ToWord64
: Primitive
.Word16
.word -> Primitive
.Word64
.word
86 val zextdFromWord32ToInt8
: Primitive
.Word32
.word -> Primitive
.Int8
.int
87 val zextdFromWord32ToInt16
: Primitive
.Word32
.word -> Primitive
.Int16
.int
88 val zextdFromWord32ToInt32
: Primitive
.Word32
.word -> Primitive
.Int32
.int
89 val zextdFromWord32ToInt64
: Primitive
.Word32
.word -> Primitive
.Int64
.int
90 val zextdFromWord32ToWord8
: Primitive
.Word32
.word -> Primitive
.Word8.word
91 val zextdFromWord32ToWord16
: Primitive
.Word32
.word -> Primitive
.Word16
.word
92 val zextdFromWord32ToWord32
: Primitive
.Word32
.word -> Primitive
.Word32
.word
93 val zextdFromWord32ToWord64
: Primitive
.Word32
.word -> Primitive
.Word64
.word
95 val zextdFromWord64ToInt8
: Primitive
.Word64
.word -> Primitive
.Int8
.int
96 val zextdFromWord64ToInt16
: Primitive
.Word64
.word -> Primitive
.Int16
.int
97 val zextdFromWord64ToInt32
: Primitive
.Word64
.word -> Primitive
.Int32
.int
98 val zextdFromWord64ToInt64
: Primitive
.Word64
.word -> Primitive
.Int64
.int
99 val zextdFromWord64ToWord8
: Primitive
.Word64
.word -> Primitive
.Word8.word
100 val zextdFromWord64ToWord16
: Primitive
.Word64
.word -> Primitive
.Word16
.word
101 val zextdFromWord64ToWord32
: Primitive
.Word64
.word -> Primitive
.Word32
.word
102 val zextdFromWord64ToWord64
: Primitive
.Word64
.word -> Primitive
.Word64
.word
104 (* sign
-extend or low
-bits
*)
105 val sextdFromInt8ToInt8
: Primitive
.Int8
.int -> Primitive
.Int8
.int
106 val sextdFromInt8ToInt16
: Primitive
.Int8
.int -> Primitive
.Int16
.int
107 val sextdFromInt8ToInt32
: Primitive
.Int8
.int -> Primitive
.Int32
.int
108 val sextdFromInt8ToInt64
: Primitive
.Int8
.int -> Primitive
.Int64
.int
109 val sextdFromInt8ToWord8
: Primitive
.Int8
.int -> Primitive
.Word8.word
110 val sextdFromInt8ToWord16
: Primitive
.Int8
.int -> Primitive
.Word16
.word
111 val sextdFromInt8ToWord32
: Primitive
.Int8
.int -> Primitive
.Word32
.word
112 val sextdFromInt8ToWord64
: Primitive
.Int8
.int -> Primitive
.Word64
.word
114 val sextdFromInt16ToInt8
: Primitive
.Int16
.int -> Primitive
.Int8
.int
115 val sextdFromInt16ToInt16
: Primitive
.Int16
.int -> Primitive
.Int16
.int
116 val sextdFromInt16ToInt32
: Primitive
.Int16
.int -> Primitive
.Int32
.int
117 val sextdFromInt16ToInt64
: Primitive
.Int16
.int -> Primitive
.Int64
.int
118 val sextdFromInt16ToWord8
: Primitive
.Int16
.int -> Primitive
.Word8.word
119 val sextdFromInt16ToWord16
: Primitive
.Int16
.int -> Primitive
.Word16
.word
120 val sextdFromInt16ToWord32
: Primitive
.Int16
.int -> Primitive
.Word32
.word
121 val sextdFromInt16ToWord64
: Primitive
.Int16
.int -> Primitive
.Word64
.word
123 val sextdFromInt32ToInt8
: Primitive
.Int32
.int -> Primitive
.Int8
.int
124 val sextdFromInt32ToInt16
: Primitive
.Int32
.int -> Primitive
.Int16
.int
125 val sextdFromInt32ToInt32
: Primitive
.Int32
.int -> Primitive
.Int32
.int
126 val sextdFromInt32ToInt64
: Primitive
.Int32
.int -> Primitive
.Int64
.int
127 val sextdFromInt32ToWord8
: Primitive
.Int32
.int -> Primitive
.Word8.word
128 val sextdFromInt32ToWord16
: Primitive
.Int32
.int -> Primitive
.Word16
.word
129 val sextdFromInt32ToWord32
: Primitive
.Int32
.int -> Primitive
.Word32
.word
130 val sextdFromInt32ToWord64
: Primitive
.Int32
.int -> Primitive
.Word64
.word
132 val sextdFromInt64ToInt8
: Primitive
.Int64
.int -> Primitive
.Int8
.int
133 val sextdFromInt64ToInt16
: Primitive
.Int64
.int -> Primitive
.Int16
.int
134 val sextdFromInt64ToInt32
: Primitive
.Int64
.int -> Primitive
.Int32
.int
135 val sextdFromInt64ToInt64
: Primitive
.Int64
.int -> Primitive
.Int64
.int
136 val sextdFromInt64ToWord8
: Primitive
.Int64
.int -> Primitive
.Word8.word
137 val sextdFromInt64ToWord16
: Primitive
.Int64
.int -> Primitive
.Word16
.word
138 val sextdFromInt64ToWord32
: Primitive
.Int64
.int -> Primitive
.Word32
.word
139 val sextdFromInt64ToWord64
: Primitive
.Int64
.int -> Primitive
.Word64
.word
141 val sextdFromWord8ToInt8
: Primitive
.Word8.word -> Primitive
.Int8
.int
142 val sextdFromWord8ToInt16
: Primitive
.Word8.word -> Primitive
.Int16
.int
143 val sextdFromWord8ToInt32
: Primitive
.Word8.word -> Primitive
.Int32
.int
144 val sextdFromWord8ToInt64
: Primitive
.Word8.word -> Primitive
.Int64
.int
145 val sextdFromWord8ToWord8
: Primitive
.Word8.word -> Primitive
.Word8.word
146 val sextdFromWord8ToWord16
: Primitive
.Word8.word -> Primitive
.Word16
.word
147 val sextdFromWord8ToWord32
: Primitive
.Word8.word -> Primitive
.Word32
.word
148 val sextdFromWord8ToWord64
: Primitive
.Word8.word -> Primitive
.Word64
.word
150 val sextdFromWord16ToInt8
: Primitive
.Word16
.word -> Primitive
.Int8
.int
151 val sextdFromWord16ToInt16
: Primitive
.Word16
.word -> Primitive
.Int16
.int
152 val sextdFromWord16ToInt32
: Primitive
.Word16
.word -> Primitive
.Int32
.int
153 val sextdFromWord16ToInt64
: Primitive
.Word16
.word -> Primitive
.Int64
.int
154 val sextdFromWord16ToWord8
: Primitive
.Word16
.word -> Primitive
.Word8.word
155 val sextdFromWord16ToWord16
: Primitive
.Word16
.word -> Primitive
.Word16
.word
156 val sextdFromWord16ToWord32
: Primitive
.Word16
.word -> Primitive
.Word32
.word
157 val sextdFromWord16ToWord64
: Primitive
.Word16
.word -> Primitive
.Word64
.word
159 val sextdFromWord32ToInt8
: Primitive
.Word32
.word -> Primitive
.Int8
.int
160 val sextdFromWord32ToInt16
: Primitive
.Word32
.word -> Primitive
.Int16
.int
161 val sextdFromWord32ToInt32
: Primitive
.Word32
.word -> Primitive
.Int32
.int
162 val sextdFromWord32ToInt64
: Primitive
.Word32
.word -> Primitive
.Int64
.int
163 val sextdFromWord32ToWord8
: Primitive
.Word32
.word -> Primitive
.Word8.word
164 val sextdFromWord32ToWord16
: Primitive
.Word32
.word -> Primitive
.Word16
.word
165 val sextdFromWord32ToWord32
: Primitive
.Word32
.word -> Primitive
.Word32
.word
166 val sextdFromWord32ToWord64
: Primitive
.Word32
.word -> Primitive
.Word64
.word
168 val sextdFromWord64ToInt8
: Primitive
.Word64
.word -> Primitive
.Int8
.int
169 val sextdFromWord64ToInt16
: Primitive
.Word64
.word -> Primitive
.Int16
.int
170 val sextdFromWord64ToInt32
: Primitive
.Word64
.word -> Primitive
.Int32
.int
171 val sextdFromWord64ToInt64
: Primitive
.Word64
.word -> Primitive
.Int64
.int
172 val sextdFromWord64ToWord8
: Primitive
.Word64
.word -> Primitive
.Word8.word
173 val sextdFromWord64ToWord16
: Primitive
.Word64
.word -> Primitive
.Word16
.word
174 val sextdFromWord64ToWord32
: Primitive
.Word64
.word -> Primitive
.Word32
.word
175 val sextdFromWord64ToWord64
: Primitive
.Word64
.word -> Primitive
.Word64
.word
178 structure Primitive
= struct
182 structure IntWordConv
: PRIM_INTWORD_CONV
=
185 val idFromInt8ToInt8
=
186 _prim
"WordU8_extdToWord8": Int8
.int -> Int8
.int;
187 val idFromInt8ToWord8
=
188 _prim
"WordU8_extdToWord8": Int8
.int -> Word8.word;
189 val idFromInt16ToInt16
=
190 _prim
"WordU16_extdToWord16": Int16
.int -> Int16
.int;
191 val idFromInt16ToWord16
=
192 _prim
"WordU16_extdToWord16": Int16
.int -> Word16
.word;
193 val idFromInt32ToInt32
=
194 _prim
"WordU32_extdToWord32": Int32
.int -> Int32
.int;
195 val idFromInt32ToWord32
=
196 _prim
"WordU32_extdToWord32": Int32
.int -> Word32
.word;
197 val idFromInt64ToInt64
=
198 _prim
"WordU64_extdToWord64": Int64
.int -> Int64
.int;
199 val idFromInt64ToWord64
=
200 _prim
"WordU64_extdToWord64": Int64
.int -> Word64
.word;
201 val idFromWord8ToInt8
=
202 _prim
"WordU8_extdToWord8": Word8.word -> Int8
.int;
203 val idFromWord8ToWord8
=
204 _prim
"WordU8_extdToWord8": Word8.word -> Word8.word;
205 val idFromWord16ToInt16
=
206 _prim
"WordU16_extdToWord16": Word16
.word -> Int16
.int;
207 val idFromWord16ToWord16
=
208 _prim
"WordU16_extdToWord16": Word16
.word -> Word16
.word;
209 val idFromWord32ToInt32
=
210 _prim
"WordU32_extdToWord32": Word32
.word -> Int32
.int;
211 val idFromWord32ToWord32
=
212 _prim
"WordU32_extdToWord32": Word32
.word -> Word32
.word;
213 val idFromWord64ToInt64
=
214 _prim
"WordU64_extdToWord64": Word64
.word -> Int64
.int;
215 val idFromWord64ToWord64
=
216 _prim
"WordU64_extdToWord64": Word64
.word -> Word64
.word;
218 (* zero
-extend or low
-bits
*)
219 val zextdFromInt8ToInt8
=
220 _prim
"WordU8_extdToWord8": Int8
.int -> Int8
.int;
221 val zextdFromInt8ToInt16
=
222 _prim
"WordU8_extdToWord16": Int8
.int -> Int16
.int;
223 val zextdFromInt8ToInt32
=
224 _prim
"WordU8_extdToWord32": Int8
.int -> Int32
.int;
225 val zextdFromInt8ToInt64
=
226 _prim
"WordU8_extdToWord64": Int8
.int -> Int64
.int;
227 val zextdFromInt8ToWord8
=
228 _prim
"WordU8_extdToWord8": Int8
.int -> Word8.word;
229 val zextdFromInt8ToWord16
=
230 _prim
"WordU8_extdToWord16": Int8
.int -> Word16
.word;
231 val zextdFromInt8ToWord32
=
232 _prim
"WordU8_extdToWord32": Int8
.int -> Word32
.word;
233 val zextdFromInt8ToWord64
=
234 _prim
"WordU8_extdToWord64": Int8
.int -> Word64
.word;
236 val zextdFromInt16ToInt8
=
237 _prim
"WordU16_extdToWord8": Int16
.int -> Int8
.int;
238 val zextdFromInt16ToInt16
=
239 _prim
"WordU16_extdToWord16": Int16
.int -> Int16
.int;
240 val zextdFromInt16ToInt32
=
241 _prim
"WordU16_extdToWord32": Int16
.int -> Int32
.int;
242 val zextdFromInt16ToInt64
=
243 _prim
"WordU16_extdToWord64": Int16
.int -> Int64
.int;
244 val zextdFromInt16ToWord8
=
245 _prim
"WordU16_extdToWord8": Int16
.int -> Word8.word;
246 val zextdFromInt16ToWord16
=
247 _prim
"WordU16_extdToWord16": Int16
.int -> Word16
.word;
248 val zextdFromInt16ToWord32
=
249 _prim
"WordU16_extdToWord32": Int16
.int -> Word32
.word;
250 val zextdFromInt16ToWord64
=
251 _prim
"WordU16_extdToWord64": Int16
.int -> Word64
.word;
253 val zextdFromInt32ToInt8
=
254 _prim
"WordU32_extdToWord8": Int32
.int -> Int8
.int;
255 val zextdFromInt32ToInt16
=
256 _prim
"WordU32_extdToWord16": Int32
.int -> Int16
.int;
257 val zextdFromInt32ToInt32
=
258 _prim
"WordU32_extdToWord32": Int32
.int -> Int32
.int;
259 val zextdFromInt32ToInt64
=
260 _prim
"WordU32_extdToWord64": Int32
.int -> Int64
.int;
261 val zextdFromInt32ToWord8
=
262 _prim
"WordU32_extdToWord8": Int32
.int -> Word8.word;
263 val zextdFromInt32ToWord16
=
264 _prim
"WordU32_extdToWord16": Int32
.int -> Word16
.word;
265 val zextdFromInt32ToWord32
=
266 _prim
"WordU32_extdToWord32": Int32
.int -> Word32
.word;
267 val zextdFromInt32ToWord64
=
268 _prim
"WordU32_extdToWord64": Int32
.int -> Word64
.word;
270 val zextdFromInt64ToInt8
=
271 _prim
"WordU64_extdToWord8": Int64
.int -> Int8
.int;
272 val zextdFromInt64ToInt16
=
273 _prim
"WordU64_extdToWord16": Int64
.int -> Int16
.int;
274 val zextdFromInt64ToInt32
=
275 _prim
"WordU64_extdToWord32": Int64
.int -> Int32
.int;
276 val zextdFromInt64ToInt64
=
277 _prim
"WordU64_extdToWord64": Int64
.int -> Int64
.int;
278 val zextdFromInt64ToWord8
=
279 _prim
"WordU64_extdToWord8": Int64
.int -> Word8.word;
280 val zextdFromInt64ToWord16
=
281 _prim
"WordU64_extdToWord16": Int64
.int -> Word16
.word;
282 val zextdFromInt64ToWord32
=
283 _prim
"WordU64_extdToWord32": Int64
.int -> Word32
.word;
284 val zextdFromInt64ToWord64
=
285 _prim
"WordU64_extdToWord64": Int64
.int -> Word64
.word;
287 val zextdFromWord8ToInt8
=
288 _prim
"WordU8_extdToWord8": Word8.word -> Int8
.int;
289 val zextdFromWord8ToInt16
=
290 _prim
"WordU8_extdToWord16": Word8.word -> Int16
.int;
291 val zextdFromWord8ToInt32
=
292 _prim
"WordU8_extdToWord32": Word8.word -> Int32
.int;
293 val zextdFromWord8ToInt64
=
294 _prim
"WordU8_extdToWord64": Word8.word -> Int64
.int;
295 val zextdFromWord8ToWord8
=
296 _prim
"WordU8_extdToWord8": Word8.word -> Word8.word;
297 val zextdFromWord8ToWord16
=
298 _prim
"WordU8_extdToWord16": Word8.word -> Word16
.word;
299 val zextdFromWord8ToWord32
=
300 _prim
"WordU8_extdToWord32": Word8.word -> Word32
.word;
301 val zextdFromWord8ToWord64
=
302 _prim
"WordU8_extdToWord64": Word8.word -> Word64
.word;
304 val zextdFromWord16ToInt8
=
305 _prim
"WordU16_extdToWord8": Word16
.word -> Int8
.int;
306 val zextdFromWord16ToInt16
=
307 _prim
"WordU16_extdToWord16": Word16
.word -> Int16
.int;
308 val zextdFromWord16ToInt32
=
309 _prim
"WordU16_extdToWord32": Word16
.word -> Int32
.int;
310 val zextdFromWord16ToInt64
=
311 _prim
"WordU16_extdToWord64": Word16
.word -> Int64
.int;
312 val zextdFromWord16ToWord8
=
313 _prim
"WordU16_extdToWord8": Word16
.word -> Word8.word;
314 val zextdFromWord16ToWord16
=
315 _prim
"WordU16_extdToWord16": Word16
.word -> Word16
.word;
316 val zextdFromWord16ToWord32
=
317 _prim
"WordU16_extdToWord32": Word16
.word -> Word32
.word;
318 val zextdFromWord16ToWord64
=
319 _prim
"WordU16_extdToWord64": Word16
.word -> Word64
.word;
321 val zextdFromWord32ToInt8
=
322 _prim
"WordU32_extdToWord8": Word32
.word -> Int8
.int;
323 val zextdFromWord32ToInt16
=
324 _prim
"WordU32_extdToWord16": Word32
.word -> Int16
.int;
325 val zextdFromWord32ToInt32
=
326 _prim
"WordU32_extdToWord32": Word32
.word -> Int32
.int;
327 val zextdFromWord32ToInt64
=
328 _prim
"WordU32_extdToWord64": Word32
.word -> Int64
.int;
329 val zextdFromWord32ToWord8
=
330 _prim
"WordU32_extdToWord8": Word32
.word -> Word8.word;
331 val zextdFromWord32ToWord16
=
332 _prim
"WordU32_extdToWord16": Word32
.word -> Word16
.word;
333 val zextdFromWord32ToWord32
=
334 _prim
"WordU32_extdToWord32": Word32
.word -> Word32
.word;
335 val zextdFromWord32ToWord64
=
336 _prim
"WordU32_extdToWord64": Word32
.word -> Word64
.word;
338 val zextdFromWord64ToInt8
=
339 _prim
"WordU64_extdToWord8": Word64
.word -> Int8
.int;
340 val zextdFromWord64ToInt16
=
341 _prim
"WordU64_extdToWord16": Word64
.word -> Int16
.int;
342 val zextdFromWord64ToInt32
=
343 _prim
"WordU64_extdToWord32": Word64
.word -> Int32
.int;
344 val zextdFromWord64ToInt64
=
345 _prim
"WordU64_extdToWord64": Word64
.word -> Int64
.int;
346 val zextdFromWord64ToWord8
=
347 _prim
"WordU64_extdToWord8": Word64
.word -> Word8.word;
348 val zextdFromWord64ToWord16
=
349 _prim
"WordU64_extdToWord16": Word64
.word -> Word16
.word;
350 val zextdFromWord64ToWord32
=
351 _prim
"WordU64_extdToWord32": Word64
.word -> Word32
.word;
352 val zextdFromWord64ToWord64
=
353 _prim
"WordU64_extdToWord64": Word64
.word -> Word64
.word;
355 (* sign
-extend or low
-bits
*)
356 val sextdFromInt8ToInt8
=
357 _prim
"WordS8_extdToWord8": Int8
.int -> Int8
.int;
358 val sextdFromInt8ToInt16
=
359 _prim
"WordS8_extdToWord16": Int8
.int -> Int16
.int;
360 val sextdFromInt8ToInt32
=
361 _prim
"WordS8_extdToWord32": Int8
.int -> Int32
.int;
362 val sextdFromInt8ToInt64
=
363 _prim
"WordS8_extdToWord64": Int8
.int -> Int64
.int;
364 val sextdFromInt8ToWord8
=
365 _prim
"WordS8_extdToWord8": Int8
.int -> Word8.word;
366 val sextdFromInt8ToWord16
=
367 _prim
"WordS8_extdToWord16": Int8
.int -> Word16
.word;
368 val sextdFromInt8ToWord32
=
369 _prim
"WordS8_extdToWord32": Int8
.int -> Word32
.word;
370 val sextdFromInt8ToWord64
=
371 _prim
"WordS8_extdToWord64": Int8
.int -> Word64
.word;
373 val sextdFromInt16ToInt8
=
374 _prim
"WordS16_extdToWord8": Int16
.int -> Int8
.int;
375 val sextdFromInt16ToInt16
=
376 _prim
"WordS16_extdToWord16": Int16
.int -> Int16
.int;
377 val sextdFromInt16ToInt32
=
378 _prim
"WordS16_extdToWord32": Int16
.int -> Int32
.int;
379 val sextdFromInt16ToInt64
=
380 _prim
"WordS16_extdToWord64": Int16
.int -> Int64
.int;
381 val sextdFromInt16ToWord8
=
382 _prim
"WordS16_extdToWord8": Int16
.int -> Word8.word;
383 val sextdFromInt16ToWord16
=
384 _prim
"WordS16_extdToWord16": Int16
.int -> Word16
.word;
385 val sextdFromInt16ToWord32
=
386 _prim
"WordS16_extdToWord32": Int16
.int -> Word32
.word;
387 val sextdFromInt16ToWord64
=
388 _prim
"WordS16_extdToWord64": Int16
.int -> Word64
.word;
390 val sextdFromInt32ToInt8
=
391 _prim
"WordS32_extdToWord8": Int32
.int -> Int8
.int;
392 val sextdFromInt32ToInt16
=
393 _prim
"WordS32_extdToWord16": Int32
.int -> Int16
.int;
394 val sextdFromInt32ToInt32
=
395 _prim
"WordS32_extdToWord32": Int32
.int -> Int32
.int;
396 val sextdFromInt32ToInt64
=
397 _prim
"WordS32_extdToWord64": Int32
.int -> Int64
.int;
398 val sextdFromInt32ToWord8
=
399 _prim
"WordS32_extdToWord8": Int32
.int -> Word8.word;
400 val sextdFromInt32ToWord16
=
401 _prim
"WordS32_extdToWord16": Int32
.int -> Word16
.word;
402 val sextdFromInt32ToWord32
=
403 _prim
"WordS32_extdToWord32": Int32
.int -> Word32
.word;
404 val sextdFromInt32ToWord64
=
405 _prim
"WordS32_extdToWord64": Int32
.int -> Word64
.word;
407 val sextdFromInt64ToInt8
=
408 _prim
"WordS64_extdToWord8": Int64
.int -> Int8
.int;
409 val sextdFromInt64ToInt16
=
410 _prim
"WordS64_extdToWord16": Int64
.int -> Int16
.int;
411 val sextdFromInt64ToInt32
=
412 _prim
"WordS64_extdToWord32": Int64
.int -> Int32
.int;
413 val sextdFromInt64ToInt64
=
414 _prim
"WordS64_extdToWord64": Int64
.int -> Int64
.int;
415 val sextdFromInt64ToWord8
=
416 _prim
"WordS64_extdToWord8": Int64
.int -> Word8.word;
417 val sextdFromInt64ToWord16
=
418 _prim
"WordS64_extdToWord16": Int64
.int -> Word16
.word;
419 val sextdFromInt64ToWord32
=
420 _prim
"WordS64_extdToWord32": Int64
.int -> Word32
.word;
421 val sextdFromInt64ToWord64
=
422 _prim
"WordS64_extdToWord64": Int64
.int -> Word64
.word;
424 val sextdFromWord8ToInt8
=
425 _prim
"WordS8_extdToWord8": Word8.word -> Int8
.int;
426 val sextdFromWord8ToInt16
=
427 _prim
"WordS8_extdToWord16": Word8.word -> Int16
.int;
428 val sextdFromWord8ToInt32
=
429 _prim
"WordS8_extdToWord32": Word8.word -> Int32
.int;
430 val sextdFromWord8ToInt64
=
431 _prim
"WordS8_extdToWord64": Word8.word -> Int64
.int;
432 val sextdFromWord8ToWord8
=
433 _prim
"WordS8_extdToWord8": Word8.word -> Word8.word;
434 val sextdFromWord8ToWord16
=
435 _prim
"WordS8_extdToWord16": Word8.word -> Word16
.word;
436 val sextdFromWord8ToWord32
=
437 _prim
"WordS8_extdToWord32": Word8.word -> Word32
.word;
438 val sextdFromWord8ToWord64
=
439 _prim
"WordS8_extdToWord64": Word8.word -> Word64
.word;
441 val sextdFromWord16ToInt8
=
442 _prim
"WordS16_extdToWord8": Word16
.word -> Int8
.int;
443 val sextdFromWord16ToInt16
=
444 _prim
"WordS16_extdToWord16": Word16
.word -> Int16
.int;
445 val sextdFromWord16ToInt32
=
446 _prim
"WordS16_extdToWord32": Word16
.word -> Int32
.int;
447 val sextdFromWord16ToInt64
=
448 _prim
"WordS16_extdToWord64": Word16
.word -> Int64
.int;
449 val sextdFromWord16ToWord8
=
450 _prim
"WordS16_extdToWord8": Word16
.word -> Word8.word;
451 val sextdFromWord16ToWord16
=
452 _prim
"WordS16_extdToWord16": Word16
.word -> Word16
.word;
453 val sextdFromWord16ToWord32
=
454 _prim
"WordS16_extdToWord32": Word16
.word -> Word32
.word;
455 val sextdFromWord16ToWord64
=
456 _prim
"WordS16_extdToWord64": Word16
.word -> Word64
.word;
458 val sextdFromWord32ToInt8
=
459 _prim
"WordS32_extdToWord8": Word32
.word -> Int8
.int;
460 val sextdFromWord32ToInt16
=
461 _prim
"WordS32_extdToWord16": Word32
.word -> Int16
.int;
462 val sextdFromWord32ToInt32
=
463 _prim
"WordS32_extdToWord32": Word32
.word -> Int32
.int;
464 val sextdFromWord32ToInt64
=
465 _prim
"WordS32_extdToWord64": Word32
.word -> Int64
.int;
466 val sextdFromWord32ToWord8
=
467 _prim
"WordS32_extdToWord8": Word32
.word -> Word8.word;
468 val sextdFromWord32ToWord16
=
469 _prim
"WordS32_extdToWord16": Word32
.word -> Word16
.word;
470 val sextdFromWord32ToWord32
=
471 _prim
"WordS32_extdToWord32": Word32
.word -> Word32
.word;
472 val sextdFromWord32ToWord64
=
473 _prim
"WordS32_extdToWord64": Word32
.word -> Word64
.word;
475 val sextdFromWord64ToInt8
=
476 _prim
"WordS64_extdToWord8": Word64
.word -> Int8
.int;
477 val sextdFromWord64ToInt16
=
478 _prim
"WordS64_extdToWord16": Word64
.word -> Int16
.int;
479 val sextdFromWord64ToInt32
=
480 _prim
"WordS64_extdToWord32": Word64
.word -> Int32
.int;
481 val sextdFromWord64ToInt64
=
482 _prim
"WordS64_extdToWord64": Word64
.word -> Int64
.int;
483 val sextdFromWord64ToWord8
=
484 _prim
"WordS64_extdToWord8": Word64
.word -> Word8.word;
485 val sextdFromWord64ToWord16
=
486 _prim
"WordS64_extdToWord16": Word64
.word -> Word16
.word;
487 val sextdFromWord64ToWord32
=
488 _prim
"WordS64_extdToWord32": Word64
.word -> Word32
.word;
489 val sextdFromWord64ToWord64
=
490 _prim
"WordS64_extdToWord64": Word64
.word -> Word64
.word;