Import Upstream version 20180207
[hcoop/debian/mlton.git] / basis-library / integer / iwconv0.sml
1 (* Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
2 * Jagannathan, and Stephen Weeks.
3 * Copyright (C) 1997-2000 NEC Research Institute.
4 *
5 * MLton is released under a BSD-style license.
6 * See the file MLton-LICENSE for details.
7 *)
8
9 signature PRIM_INTWORD_CONV =
10 sig
11 include PRIM_INTWORD_CONV
12
13 (* C-like cast: extend according to signedness of from or low-bits *)
14 val castFromInt8ToInt8: Primitive.Int8.int -> Primitive.Int8.int
15 val castFromInt8ToInt16: Primitive.Int8.int -> Primitive.Int16.int
16 val castFromInt8ToInt32: Primitive.Int8.int -> Primitive.Int32.int
17 val castFromInt8ToInt64: Primitive.Int8.int -> Primitive.Int64.int
18 val castFromInt8ToWord8: Primitive.Int8.int -> Primitive.Word8.word
19 val castFromInt8ToWord16: Primitive.Int8.int -> Primitive.Word16.word
20 val castFromInt8ToWord32: Primitive.Int8.int -> Primitive.Word32.word
21 val castFromInt8ToWord64: Primitive.Int8.int -> Primitive.Word64.word
22
23 val castFromInt16ToInt8: Primitive.Int16.int -> Primitive.Int8.int
24 val castFromInt16ToInt16: Primitive.Int16.int -> Primitive.Int16.int
25 val castFromInt16ToInt32: Primitive.Int16.int -> Primitive.Int32.int
26 val castFromInt16ToInt64: Primitive.Int16.int -> Primitive.Int64.int
27 val castFromInt16ToWord8: Primitive.Int16.int -> Primitive.Word8.word
28 val castFromInt16ToWord16: Primitive.Int16.int -> Primitive.Word16.word
29 val castFromInt16ToWord32: Primitive.Int16.int -> Primitive.Word32.word
30 val castFromInt16ToWord64: Primitive.Int16.int -> Primitive.Word64.word
31
32 val castFromInt32ToInt8: Primitive.Int32.int -> Primitive.Int8.int
33 val castFromInt32ToInt16: Primitive.Int32.int -> Primitive.Int16.int
34 val castFromInt32ToInt32: Primitive.Int32.int -> Primitive.Int32.int
35 val castFromInt32ToInt64: Primitive.Int32.int -> Primitive.Int64.int
36 val castFromInt32ToWord8: Primitive.Int32.int -> Primitive.Word8.word
37 val castFromInt32ToWord16: Primitive.Int32.int -> Primitive.Word16.word
38 val castFromInt32ToWord32: Primitive.Int32.int -> Primitive.Word32.word
39 val castFromInt32ToWord64: Primitive.Int32.int -> Primitive.Word64.word
40
41 val castFromInt64ToInt8: Primitive.Int64.int -> Primitive.Int8.int
42 val castFromInt64ToInt16: Primitive.Int64.int -> Primitive.Int16.int
43 val castFromInt64ToInt32: Primitive.Int64.int -> Primitive.Int32.int
44 val castFromInt64ToInt64: Primitive.Int64.int -> Primitive.Int64.int
45 val castFromInt64ToWord8: Primitive.Int64.int -> Primitive.Word8.word
46 val castFromInt64ToWord16: Primitive.Int64.int -> Primitive.Word16.word
47 val castFromInt64ToWord32: Primitive.Int64.int -> Primitive.Word32.word
48 val castFromInt64ToWord64: Primitive.Int64.int -> Primitive.Word64.word
49
50 val castFromWord8ToInt8: Primitive.Word8.word -> Primitive.Int8.int
51 val castFromWord8ToInt16: Primitive.Word8.word -> Primitive.Int16.int
52 val castFromWord8ToInt32: Primitive.Word8.word -> Primitive.Int32.int
53 val castFromWord8ToInt64: Primitive.Word8.word -> Primitive.Int64.int
54 val castFromWord8ToWord8: Primitive.Word8.word -> Primitive.Word8.word
55 val castFromWord8ToWord16: Primitive.Word8.word -> Primitive.Word16.word
56 val castFromWord8ToWord32: Primitive.Word8.word -> Primitive.Word32.word
57 val castFromWord8ToWord64: Primitive.Word8.word -> Primitive.Word64.word
58
59 val castFromWord16ToInt8: Primitive.Word16.word -> Primitive.Int8.int
60 val castFromWord16ToInt16: Primitive.Word16.word -> Primitive.Int16.int
61 val castFromWord16ToInt32: Primitive.Word16.word -> Primitive.Int32.int
62 val castFromWord16ToInt64: Primitive.Word16.word -> Primitive.Int64.int
63 val castFromWord16ToWord8: Primitive.Word16.word -> Primitive.Word8.word
64 val castFromWord16ToWord16: Primitive.Word16.word -> Primitive.Word16.word
65 val castFromWord16ToWord32: Primitive.Word16.word -> Primitive.Word32.word
66 val castFromWord16ToWord64: Primitive.Word16.word -> Primitive.Word64.word
67
68 val castFromWord32ToInt8: Primitive.Word32.word -> Primitive.Int8.int
69 val castFromWord32ToInt16: Primitive.Word32.word -> Primitive.Int16.int
70 val castFromWord32ToInt32: Primitive.Word32.word -> Primitive.Int32.int
71 val castFromWord32ToInt64: Primitive.Word32.word -> Primitive.Int64.int
72 val castFromWord32ToWord8: Primitive.Word32.word -> Primitive.Word8.word
73 val castFromWord32ToWord16: Primitive.Word32.word -> Primitive.Word16.word
74 val castFromWord32ToWord32: Primitive.Word32.word -> Primitive.Word32.word
75 val castFromWord32ToWord64: Primitive.Word32.word -> Primitive.Word64.word
76
77 val castFromWord64ToInt8: Primitive.Word64.word -> Primitive.Int8.int
78 val castFromWord64ToInt16: Primitive.Word64.word -> Primitive.Int16.int
79 val castFromWord64ToInt32: Primitive.Word64.word -> Primitive.Int32.int
80 val castFromWord64ToInt64: Primitive.Word64.word -> Primitive.Int64.int
81 val castFromWord64ToWord8: Primitive.Word64.word -> Primitive.Word8.word
82 val castFromWord64ToWord16: Primitive.Word64.word -> Primitive.Word16.word
83 val castFromWord64ToWord32: Primitive.Word64.word -> Primitive.Word32.word
84 val castFromWord64ToWord64: Primitive.Word64.word -> Primitive.Word64.word
85
86 (* checked zero-extend or low-bits,
87 * Overflow if composed zero-extend not identity
88 *)
89 val zchckFromInt8ToInt8: Primitive.Int8.int -> Primitive.Int8.int
90 val zchckFromInt8ToInt16: Primitive.Int8.int -> Primitive.Int16.int
91 val zchckFromInt8ToInt32: Primitive.Int8.int -> Primitive.Int32.int
92 val zchckFromInt8ToInt64: Primitive.Int8.int -> Primitive.Int64.int
93 val zchckFromInt8ToWord8: Primitive.Int8.int -> Primitive.Word8.word
94 val zchckFromInt8ToWord16: Primitive.Int8.int -> Primitive.Word16.word
95 val zchckFromInt8ToWord32: Primitive.Int8.int -> Primitive.Word32.word
96 val zchckFromInt8ToWord64: Primitive.Int8.int -> Primitive.Word64.word
97
98 val zchckFromInt16ToInt8: Primitive.Int16.int -> Primitive.Int8.int
99 val zchckFromInt16ToInt16: Primitive.Int16.int -> Primitive.Int16.int
100 val zchckFromInt16ToInt32: Primitive.Int16.int -> Primitive.Int32.int
101 val zchckFromInt16ToInt64: Primitive.Int16.int -> Primitive.Int64.int
102 val zchckFromInt16ToWord8: Primitive.Int16.int -> Primitive.Word8.word
103 val zchckFromInt16ToWord16: Primitive.Int16.int -> Primitive.Word16.word
104 val zchckFromInt16ToWord32: Primitive.Int16.int -> Primitive.Word32.word
105 val zchckFromInt16ToWord64: Primitive.Int16.int -> Primitive.Word64.word
106
107 val zchckFromInt32ToInt8: Primitive.Int32.int -> Primitive.Int8.int
108 val zchckFromInt32ToInt16: Primitive.Int32.int -> Primitive.Int16.int
109 val zchckFromInt32ToInt32: Primitive.Int32.int -> Primitive.Int32.int
110 val zchckFromInt32ToInt64: Primitive.Int32.int -> Primitive.Int64.int
111 val zchckFromInt32ToWord8: Primitive.Int32.int -> Primitive.Word8.word
112 val zchckFromInt32ToWord16: Primitive.Int32.int -> Primitive.Word16.word
113 val zchckFromInt32ToWord32: Primitive.Int32.int -> Primitive.Word32.word
114 val zchckFromInt32ToWord64: Primitive.Int32.int -> Primitive.Word64.word
115
116 val zchckFromInt64ToInt8: Primitive.Int64.int -> Primitive.Int8.int
117 val zchckFromInt64ToInt16: Primitive.Int64.int -> Primitive.Int16.int
118 val zchckFromInt64ToInt32: Primitive.Int64.int -> Primitive.Int32.int
119 val zchckFromInt64ToInt64: Primitive.Int64.int -> Primitive.Int64.int
120 val zchckFromInt64ToWord8: Primitive.Int64.int -> Primitive.Word8.word
121 val zchckFromInt64ToWord16: Primitive.Int64.int -> Primitive.Word16.word
122 val zchckFromInt64ToWord32: Primitive.Int64.int -> Primitive.Word32.word
123 val zchckFromInt64ToWord64: Primitive.Int64.int -> Primitive.Word64.word
124
125 val zchckFromWord8ToInt8: Primitive.Word8.word -> Primitive.Int8.int
126 val zchckFromWord8ToInt16: Primitive.Word8.word -> Primitive.Int16.int
127 val zchckFromWord8ToInt32: Primitive.Word8.word -> Primitive.Int32.int
128 val zchckFromWord8ToInt64: Primitive.Word8.word -> Primitive.Int64.int
129 val zchckFromWord8ToWord8: Primitive.Word8.word -> Primitive.Word8.word
130 val zchckFromWord8ToWord16: Primitive.Word8.word -> Primitive.Word16.word
131 val zchckFromWord8ToWord32: Primitive.Word8.word -> Primitive.Word32.word
132 val zchckFromWord8ToWord64: Primitive.Word8.word -> Primitive.Word64.word
133
134 val zchckFromWord16ToInt8: Primitive.Word16.word -> Primitive.Int8.int
135 val zchckFromWord16ToInt16: Primitive.Word16.word -> Primitive.Int16.int
136 val zchckFromWord16ToInt32: Primitive.Word16.word -> Primitive.Int32.int
137 val zchckFromWord16ToInt64: Primitive.Word16.word -> Primitive.Int64.int
138 val zchckFromWord16ToWord8: Primitive.Word16.word -> Primitive.Word8.word
139 val zchckFromWord16ToWord16: Primitive.Word16.word -> Primitive.Word16.word
140 val zchckFromWord16ToWord32: Primitive.Word16.word -> Primitive.Word32.word
141 val zchckFromWord16ToWord64: Primitive.Word16.word -> Primitive.Word64.word
142
143 val zchckFromWord32ToInt8: Primitive.Word32.word -> Primitive.Int8.int
144 val zchckFromWord32ToInt16: Primitive.Word32.word -> Primitive.Int16.int
145 val zchckFromWord32ToInt32: Primitive.Word32.word -> Primitive.Int32.int
146 val zchckFromWord32ToInt64: Primitive.Word32.word -> Primitive.Int64.int
147 val zchckFromWord32ToWord8: Primitive.Word32.word -> Primitive.Word8.word
148 val zchckFromWord32ToWord16: Primitive.Word32.word -> Primitive.Word16.word
149 val zchckFromWord32ToWord32: Primitive.Word32.word -> Primitive.Word32.word
150 val zchckFromWord32ToWord64: Primitive.Word32.word -> Primitive.Word64.word
151
152 val zchckFromWord64ToInt8: Primitive.Word64.word -> Primitive.Int8.int
153 val zchckFromWord64ToInt16: Primitive.Word64.word -> Primitive.Int16.int
154 val zchckFromWord64ToInt32: Primitive.Word64.word -> Primitive.Int32.int
155 val zchckFromWord64ToInt64: Primitive.Word64.word -> Primitive.Int64.int
156 val zchckFromWord64ToWord8: Primitive.Word64.word -> Primitive.Word8.word
157 val zchckFromWord64ToWord16: Primitive.Word64.word -> Primitive.Word16.word
158 val zchckFromWord64ToWord32: Primitive.Word64.word -> Primitive.Word32.word
159 val zchckFromWord64ToWord64: Primitive.Word64.word -> Primitive.Word64.word
160
161 (* checked sign-extend or low-bits,
162 * Overflow if composed sign-extend not identity
163 *)
164 val schckFromInt8ToInt8: Primitive.Int8.int -> Primitive.Int8.int
165 val schckFromInt8ToInt16: Primitive.Int8.int -> Primitive.Int16.int
166 val schckFromInt8ToInt32: Primitive.Int8.int -> Primitive.Int32.int
167 val schckFromInt8ToInt64: Primitive.Int8.int -> Primitive.Int64.int
168 val schckFromInt8ToWord8: Primitive.Int8.int -> Primitive.Word8.word
169 val schckFromInt8ToWord16: Primitive.Int8.int -> Primitive.Word16.word
170 val schckFromInt8ToWord32: Primitive.Int8.int -> Primitive.Word32.word
171 val schckFromInt8ToWord64: Primitive.Int8.int -> Primitive.Word64.word
172
173 val schckFromInt16ToInt8: Primitive.Int16.int -> Primitive.Int8.int
174 val schckFromInt16ToInt16: Primitive.Int16.int -> Primitive.Int16.int
175 val schckFromInt16ToInt32: Primitive.Int16.int -> Primitive.Int32.int
176 val schckFromInt16ToInt64: Primitive.Int16.int -> Primitive.Int64.int
177 val schckFromInt16ToWord8: Primitive.Int16.int -> Primitive.Word8.word
178 val schckFromInt16ToWord16: Primitive.Int16.int -> Primitive.Word16.word
179 val schckFromInt16ToWord32: Primitive.Int16.int -> Primitive.Word32.word
180 val schckFromInt16ToWord64: Primitive.Int16.int -> Primitive.Word64.word
181
182 val schckFromInt32ToInt8: Primitive.Int32.int -> Primitive.Int8.int
183 val schckFromInt32ToInt16: Primitive.Int32.int -> Primitive.Int16.int
184 val schckFromInt32ToInt32: Primitive.Int32.int -> Primitive.Int32.int
185 val schckFromInt32ToInt64: Primitive.Int32.int -> Primitive.Int64.int
186 val schckFromInt32ToWord8: Primitive.Int32.int -> Primitive.Word8.word
187 val schckFromInt32ToWord16: Primitive.Int32.int -> Primitive.Word16.word
188 val schckFromInt32ToWord32: Primitive.Int32.int -> Primitive.Word32.word
189 val schckFromInt32ToWord64: Primitive.Int32.int -> Primitive.Word64.word
190
191 val schckFromInt64ToInt8: Primitive.Int64.int -> Primitive.Int8.int
192 val schckFromInt64ToInt16: Primitive.Int64.int -> Primitive.Int16.int
193 val schckFromInt64ToInt32: Primitive.Int64.int -> Primitive.Int32.int
194 val schckFromInt64ToInt64: Primitive.Int64.int -> Primitive.Int64.int
195 val schckFromInt64ToWord8: Primitive.Int64.int -> Primitive.Word8.word
196 val schckFromInt64ToWord16: Primitive.Int64.int -> Primitive.Word16.word
197 val schckFromInt64ToWord32: Primitive.Int64.int -> Primitive.Word32.word
198 val schckFromInt64ToWord64: Primitive.Int64.int -> Primitive.Word64.word
199
200 val schckFromWord8ToInt8: Primitive.Word8.word -> Primitive.Int8.int
201 val schckFromWord8ToInt16: Primitive.Word8.word -> Primitive.Int16.int
202 val schckFromWord8ToInt32: Primitive.Word8.word -> Primitive.Int32.int
203 val schckFromWord8ToInt64: Primitive.Word8.word -> Primitive.Int64.int
204 val schckFromWord8ToWord8: Primitive.Word8.word -> Primitive.Word8.word
205 val schckFromWord8ToWord16: Primitive.Word8.word -> Primitive.Word16.word
206 val schckFromWord8ToWord32: Primitive.Word8.word -> Primitive.Word32.word
207 val schckFromWord8ToWord64: Primitive.Word8.word -> Primitive.Word64.word
208
209 val schckFromWord16ToInt8: Primitive.Word16.word -> Primitive.Int8.int
210 val schckFromWord16ToInt16: Primitive.Word16.word -> Primitive.Int16.int
211 val schckFromWord16ToInt32: Primitive.Word16.word -> Primitive.Int32.int
212 val schckFromWord16ToInt64: Primitive.Word16.word -> Primitive.Int64.int
213 val schckFromWord16ToWord8: Primitive.Word16.word -> Primitive.Word8.word
214 val schckFromWord16ToWord16: Primitive.Word16.word -> Primitive.Word16.word
215 val schckFromWord16ToWord32: Primitive.Word16.word -> Primitive.Word32.word
216 val schckFromWord16ToWord64: Primitive.Word16.word -> Primitive.Word64.word
217
218 val schckFromWord32ToInt8: Primitive.Word32.word -> Primitive.Int8.int
219 val schckFromWord32ToInt16: Primitive.Word32.word -> Primitive.Int16.int
220 val schckFromWord32ToInt32: Primitive.Word32.word -> Primitive.Int32.int
221 val schckFromWord32ToInt64: Primitive.Word32.word -> Primitive.Int64.int
222 val schckFromWord32ToWord8: Primitive.Word32.word -> Primitive.Word8.word
223 val schckFromWord32ToWord16: Primitive.Word32.word -> Primitive.Word16.word
224 val schckFromWord32ToWord32: Primitive.Word32.word -> Primitive.Word32.word
225 val schckFromWord32ToWord64: Primitive.Word32.word -> Primitive.Word64.word
226
227 val schckFromWord64ToInt8: Primitive.Word64.word -> Primitive.Int8.int
228 val schckFromWord64ToInt16: Primitive.Word64.word -> Primitive.Int16.int
229 val schckFromWord64ToInt32: Primitive.Word64.word -> Primitive.Int32.int
230 val schckFromWord64ToInt64: Primitive.Word64.word -> Primitive.Int64.int
231 val schckFromWord64ToWord8: Primitive.Word64.word -> Primitive.Word8.word
232 val schckFromWord64ToWord16: Primitive.Word64.word -> Primitive.Word16.word
233 val schckFromWord64ToWord32: Primitive.Word64.word -> Primitive.Word32.word
234 val schckFromWord64ToWord64: Primitive.Word64.word -> Primitive.Word64.word
235 end
236 signature PRIM_INTEGER =
237 sig
238 include PRIM_INTEGER
239
240 val zextdFromInt8: Primitive.Int8.int -> int
241 val zextdFromInt16: Primitive.Int16.int -> int
242 val zextdFromInt32: Primitive.Int32.int -> int
243 val zextdFromInt64: Primitive.Int64.int -> int
244 val zextdFromWord8: Primitive.Word8.word -> int
245 val zextdFromWord16: Primitive.Word16.word -> int
246 val zextdFromWord32: Primitive.Word32.word -> int
247 val zextdFromWord64: Primitive.Word64.word -> int
248 val zextdToInt8: int -> Primitive.Int8.int
249 val zextdToInt16: int -> Primitive.Int16.int
250 val zextdToInt32: int -> Primitive.Int32.int
251 val zextdToInt64: int -> Primitive.Int64.int
252 val zextdToWord8: int -> Primitive.Word8.word
253 val zextdToWord16: int -> Primitive.Word16.word
254 val zextdToWord32: int -> Primitive.Word32.word
255 val zextdToWord64: int -> Primitive.Word64.word
256
257 val sextdFromInt8: Primitive.Int8.int -> int
258 val sextdFromInt16: Primitive.Int16.int -> int
259 val sextdFromInt32: Primitive.Int32.int -> int
260 val sextdFromInt64: Primitive.Int64.int -> int
261 val sextdFromWord8: Primitive.Word8.word -> int
262 val sextdFromWord16: Primitive.Word16.word -> int
263 val sextdFromWord32: Primitive.Word32.word -> int
264 val sextdFromWord64: Primitive.Word64.word -> int
265 val sextdToInt8: int -> Primitive.Int8.int
266 val sextdToInt16: int -> Primitive.Int16.int
267 val sextdToInt32: int -> Primitive.Int32.int
268 val sextdToInt64: int -> Primitive.Int64.int
269 val sextdToWord8: int -> Primitive.Word8.word
270 val sextdToWord16: int -> Primitive.Word16.word
271 val sextdToWord32: int -> Primitive.Word32.word
272 val sextdToWord64: int -> Primitive.Word64.word
273
274 val castFromInt8: Primitive.Int8.int -> int
275 val castFromInt16: Primitive.Int16.int -> int
276 val castFromInt32: Primitive.Int32.int -> int
277 val castFromInt64: Primitive.Int64.int -> int
278 val castFromWord8: Primitive.Word8.word -> int
279 val castFromWord16: Primitive.Word16.word -> int
280 val castFromWord32: Primitive.Word32.word -> int
281 val castFromWord64: Primitive.Word64.word -> int
282 val castToInt8: int -> Primitive.Int8.int
283 val castToInt16: int -> Primitive.Int16.int
284 val castToInt32: int -> Primitive.Int32.int
285 val castToInt64: int -> Primitive.Int64.int
286 val castToWord8: int -> Primitive.Word8.word
287 val castToWord16: int -> Primitive.Word16.word
288 val castToWord32: int -> Primitive.Word32.word
289 val castToWord64: int -> Primitive.Word64.word
290
291 val zchckFromInt8: Primitive.Int8.int -> int
292 val zchckFromInt16: Primitive.Int16.int -> int
293 val zchckFromInt32: Primitive.Int32.int -> int
294 val zchckFromInt64: Primitive.Int64.int -> int
295 val zchckFromWord8: Primitive.Word8.word -> int
296 val zchckFromWord16: Primitive.Word16.word -> int
297 val zchckFromWord32: Primitive.Word32.word -> int
298 val zchckFromWord64: Primitive.Word64.word -> int
299 val zchckToInt8: int -> Primitive.Int8.int
300 val zchckToInt16: int -> Primitive.Int16.int
301 val zchckToInt32: int -> Primitive.Int32.int
302 val zchckToInt64: int -> Primitive.Int64.int
303 val zchckToWord8: int -> Primitive.Word8.word
304 val zchckToWord16: int -> Primitive.Word16.word
305 val zchckToWord32: int -> Primitive.Word32.word
306 val zchckToWord64: int -> Primitive.Word64.word
307
308 val schckFromInt8: Primitive.Int8.int -> int
309 val schckFromInt16: Primitive.Int16.int -> int
310 val schckFromInt32: Primitive.Int32.int -> int
311 val schckFromInt64: Primitive.Int64.int -> int
312 val schckFromWord8: Primitive.Word8.word -> int
313 val schckFromWord16: Primitive.Word16.word -> int
314 val schckFromWord32: Primitive.Word32.word -> int
315 val schckFromWord64: Primitive.Word64.word -> int
316 val schckToInt8: int -> Primitive.Int8.int
317 val schckToInt16: int -> Primitive.Int16.int
318 val schckToInt32: int -> Primitive.Int32.int
319 val schckToInt64: int -> Primitive.Int64.int
320 val schckToWord8: int -> Primitive.Word8.word
321 val schckToWord16: int -> Primitive.Word16.word
322 val schckToWord32: int -> Primitive.Word32.word
323 val schckToWord64: int -> Primitive.Word64.word
324 end
325 signature PRIM_WORD =
326 sig
327 include PRIM_WORD
328
329 val zextdFromInt8: Primitive.Int8.int -> word
330 val zextdFromInt16: Primitive.Int16.int -> word
331 val zextdFromInt32: Primitive.Int32.int -> word
332 val zextdFromInt64: Primitive.Int64.int -> word
333 val zextdFromWord8: Primitive.Word8.word -> word
334 val zextdFromWord16: Primitive.Word16.word -> word
335 val zextdFromWord32: Primitive.Word32.word -> word
336 val zextdFromWord64: Primitive.Word64.word -> word
337 val zextdToInt8: word -> Primitive.Int8.int
338 val zextdToInt16: word -> Primitive.Int16.int
339 val zextdToInt32: word -> Primitive.Int32.int
340 val zextdToInt64: word -> Primitive.Int64.int
341 val zextdToWord8: word -> Primitive.Word8.word
342 val zextdToWord16: word -> Primitive.Word16.word
343 val zextdToWord32: word -> Primitive.Word32.word
344 val zextdToWord64: word -> Primitive.Word64.word
345
346 val sextdFromInt8: Primitive.Int8.int -> word
347 val sextdFromInt16: Primitive.Int16.int -> word
348 val sextdFromInt32: Primitive.Int32.int -> word
349 val sextdFromInt64: Primitive.Int64.int -> word
350 val sextdFromWord8: Primitive.Word8.word -> word
351 val sextdFromWord16: Primitive.Word16.word -> word
352 val sextdFromWord32: Primitive.Word32.word -> word
353 val sextdFromWord64: Primitive.Word64.word -> word
354 val sextdToInt8: word -> Primitive.Int8.int
355 val sextdToInt16: word -> Primitive.Int16.int
356 val sextdToInt32: word -> Primitive.Int32.int
357 val sextdToInt64: word -> Primitive.Int64.int
358 val sextdToWord8: word -> Primitive.Word8.word
359 val sextdToWord16: word -> Primitive.Word16.word
360 val sextdToWord32: word -> Primitive.Word32.word
361 val sextdToWord64: word -> Primitive.Word64.word
362
363 val castFromInt8: Primitive.Int8.int -> word
364 val castFromInt16: Primitive.Int16.int -> word
365 val castFromInt32: Primitive.Int32.int -> word
366 val castFromInt64: Primitive.Int64.int -> word
367 val castFromWord8: Primitive.Word8.word -> word
368 val castFromWord16: Primitive.Word16.word -> word
369 val castFromWord32: Primitive.Word32.word -> word
370 val castFromWord64: Primitive.Word64.word -> word
371 val castToInt8: word -> Primitive.Int8.int
372 val castToInt16: word -> Primitive.Int16.int
373 val castToInt32: word -> Primitive.Int32.int
374 val castToInt64: word -> Primitive.Int64.int
375 val castToWord8: word -> Primitive.Word8.word
376 val castToWord16: word -> Primitive.Word16.word
377 val castToWord32: word -> Primitive.Word32.word
378 val castToWord64: word -> Primitive.Word64.word
379
380 val zchckFromInt8: Primitive.Int8.int -> word
381 val zchckFromInt16: Primitive.Int16.int -> word
382 val zchckFromInt32: Primitive.Int32.int -> word
383 val zchckFromInt64: Primitive.Int64.int -> word
384 val zchckFromWord8: Primitive.Word8.word -> word
385 val zchckFromWord16: Primitive.Word16.word -> word
386 val zchckFromWord32: Primitive.Word32.word -> word
387 val zchckFromWord64: Primitive.Word64.word -> word
388 val zchckToInt8: word -> Primitive.Int8.int
389 val zchckToInt16: word -> Primitive.Int16.int
390 val zchckToInt32: word -> Primitive.Int32.int
391 val zchckToInt64: word -> Primitive.Int64.int
392 val zchckToWord8: word -> Primitive.Word8.word
393 val zchckToWord16: word -> Primitive.Word16.word
394 val zchckToWord32: word -> Primitive.Word32.word
395 val zchckToWord64: word -> Primitive.Word64.word
396
397 val schckFromInt8: Primitive.Int8.int -> word
398 val schckFromInt16: Primitive.Int16.int -> word
399 val schckFromInt32: Primitive.Int32.int -> word
400 val schckFromInt64: Primitive.Int64.int -> word
401 val schckFromWord8: Primitive.Word8.word -> word
402 val schckFromWord16: Primitive.Word16.word -> word
403 val schckFromWord32: Primitive.Word32.word -> word
404 val schckFromWord64: Primitive.Word64.word -> word
405 val schckToInt8: word -> Primitive.Int8.int
406 val schckToInt16: word -> Primitive.Int16.int
407 val schckToInt32: word -> Primitive.Int32.int
408 val schckToInt64: word -> Primitive.Int64.int
409 val schckToWord8: word -> Primitive.Word8.word
410 val schckToWord16: word -> Primitive.Word16.word
411 val schckToWord32: word -> Primitive.Word32.word
412 val schckToWord64: word -> Primitive.Word64.word
413 end
414
415 structure Primitive = struct
416
417 open Primitive
418
419 structure IntWordConv : PRIM_INTWORD_CONV =
420 struct
421 open IntWordConv
422
423 (* C-like cast: extend according to signedness of from or low-bits *)
424 val castFromInt8ToInt8 = sextdFromInt8ToInt8
425 val castFromInt8ToInt16 = sextdFromInt8ToInt16
426 val castFromInt8ToInt32 = sextdFromInt8ToInt32
427 val castFromInt8ToInt64 = sextdFromInt8ToInt64
428 val castFromInt8ToWord8 = sextdFromInt8ToWord8
429 val castFromInt8ToWord16 = sextdFromInt8ToWord16
430 val castFromInt8ToWord32 = sextdFromInt8ToWord32
431 val castFromInt8ToWord64 = sextdFromInt8ToWord64
432 val castFromInt16ToInt8 = sextdFromInt16ToInt8
433 val castFromInt16ToInt16 = sextdFromInt16ToInt16
434 val castFromInt16ToInt32 = sextdFromInt16ToInt32
435 val castFromInt16ToInt64 = sextdFromInt16ToInt64
436 val castFromInt16ToWord8 = sextdFromInt16ToWord8
437 val castFromInt16ToWord16 = sextdFromInt16ToWord16
438 val castFromInt16ToWord32 = sextdFromInt16ToWord32
439 val castFromInt16ToWord64 = sextdFromInt16ToWord64
440 val castFromInt32ToInt8 = sextdFromInt32ToInt8
441 val castFromInt32ToInt16 = sextdFromInt32ToInt16
442 val castFromInt32ToInt32 = sextdFromInt32ToInt32
443 val castFromInt32ToInt64 = sextdFromInt32ToInt64
444 val castFromInt32ToWord8 = sextdFromInt32ToWord8
445 val castFromInt32ToWord16 = sextdFromInt32ToWord16
446 val castFromInt32ToWord32 = sextdFromInt32ToWord32
447 val castFromInt32ToWord64 = sextdFromInt32ToWord64
448 val castFromInt64ToInt8 = sextdFromInt64ToInt8
449 val castFromInt64ToInt16 = sextdFromInt64ToInt16
450 val castFromInt64ToInt32 = sextdFromInt64ToInt32
451 val castFromInt64ToInt64 = sextdFromInt64ToInt64
452 val castFromInt64ToWord8 = sextdFromInt64ToWord8
453 val castFromInt64ToWord16 = sextdFromInt64ToWord16
454 val castFromInt64ToWord32 = sextdFromInt64ToWord32
455 val castFromInt64ToWord64 = sextdFromInt64ToWord64
456
457 val castFromWord8ToInt8 = zextdFromWord8ToInt8
458 val castFromWord8ToInt16 = zextdFromWord8ToInt16
459 val castFromWord8ToInt32 = zextdFromWord8ToInt32
460 val castFromWord8ToInt64 = zextdFromWord8ToInt64
461 val castFromWord8ToWord8 = zextdFromWord8ToWord8
462 val castFromWord8ToWord16 = zextdFromWord8ToWord16
463 val castFromWord8ToWord32 = zextdFromWord8ToWord32
464 val castFromWord8ToWord64 = zextdFromWord8ToWord64
465 val castFromWord16ToInt8 = zextdFromWord16ToInt8
466 val castFromWord16ToInt16 = zextdFromWord16ToInt16
467 val castFromWord16ToInt32 = zextdFromWord16ToInt32
468 val castFromWord16ToInt64 = zextdFromWord16ToInt64
469 val castFromWord16ToWord8 = zextdFromWord16ToWord8
470 val castFromWord16ToWord16 = zextdFromWord16ToWord16
471 val castFromWord16ToWord32 = zextdFromWord16ToWord32
472 val castFromWord16ToWord64 = zextdFromWord16ToWord64
473 val castFromWord32ToInt8 = zextdFromWord32ToInt8
474 val castFromWord32ToInt16 = zextdFromWord32ToInt16
475 val castFromWord32ToInt32 = zextdFromWord32ToInt32
476 val castFromWord32ToInt64 = zextdFromWord32ToInt64
477 val castFromWord32ToWord8 = zextdFromWord32ToWord8
478 val castFromWord32ToWord16 = zextdFromWord32ToWord16
479 val castFromWord32ToWord32 = zextdFromWord32ToWord32
480 val castFromWord32ToWord64 = zextdFromWord32ToWord64
481 val castFromWord64ToInt8 = zextdFromWord64ToInt8
482 val castFromWord64ToInt16 = zextdFromWord64ToInt16
483 val castFromWord64ToInt32 = zextdFromWord64ToInt32
484 val castFromWord64ToInt64 = zextdFromWord64ToInt64
485 val castFromWord64ToWord8 = zextdFromWord64ToWord8
486 val castFromWord64ToWord16 = zextdFromWord64ToWord16
487 val castFromWord64ToWord32 = zextdFromWord64ToWord32
488 val castFromWord64ToWord64 = zextdFromWord64ToWord64
489
490 (* checked zero-extend or low-bits,
491 * Overflow if composed zero-extend not identity
492 *)
493 local
494 fun (''l, ''s) make {zextdFromLargeToSmall: ''l -> ''s,
495 zextdFromSmallToLarge: ''s -> ''l} =
496 if Primitive.Controls.detectOverflow
497 then fn (x: ''l) => let
498 val res = zextdFromLargeToSmall x
499 in
500 if x = (zextdFromSmallToLarge res)
501 then res
502 else raise Overflow
503 end
504 else zextdFromLargeToSmall
505 in
506 val zchckFromInt8ToInt8 = zextdFromInt8ToInt8
507 val zchckFromInt8ToInt16 = zextdFromInt8ToInt16
508 val zchckFromInt8ToInt32 = zextdFromInt8ToInt32
509 val zchckFromInt8ToInt64 = zextdFromInt8ToInt64
510 val zchckFromInt8ToWord8 = zextdFromInt8ToWord8
511 val zchckFromInt8ToWord16 = zextdFromInt8ToWord16
512 val zchckFromInt8ToWord32 = zextdFromInt8ToWord32
513 val zchckFromInt8ToWord64 = zextdFromInt8ToWord64
514 val zchckFromInt16ToInt8 =
515 make {zextdFromLargeToSmall = zextdFromInt16ToInt8,
516 zextdFromSmallToLarge = zextdFromInt8ToInt16}
517 val zchckFromInt16ToInt16 = zextdFromInt16ToInt16
518 val zchckFromInt16ToInt32 = zextdFromInt16ToInt32
519 val zchckFromInt16ToInt64 = zextdFromInt16ToInt64
520 val zchckFromInt16ToWord8 =
521 make {zextdFromLargeToSmall = zextdFromInt16ToWord8,
522 zextdFromSmallToLarge = zextdFromWord8ToInt16}
523 val zchckFromInt16ToWord16 = zextdFromInt16ToWord16
524 val zchckFromInt16ToWord32 = zextdFromInt16ToWord32
525 val zchckFromInt16ToWord64 = zextdFromInt16ToWord64
526 val zchckFromInt32ToInt8 =
527 make {zextdFromLargeToSmall = zextdFromInt32ToInt8,
528 zextdFromSmallToLarge = zextdFromInt8ToInt32}
529 val zchckFromInt32ToInt16 =
530 make {zextdFromLargeToSmall = zextdFromInt32ToInt16,
531 zextdFromSmallToLarge = zextdFromInt16ToInt32}
532 val zchckFromInt32ToInt32 = zextdFromInt32ToInt32
533 val zchckFromInt32ToInt64 = zextdFromInt32ToInt64
534 val zchckFromInt32ToWord8 =
535 make {zextdFromLargeToSmall = zextdFromInt32ToWord8,
536 zextdFromSmallToLarge = zextdFromWord8ToInt32}
537 val zchckFromInt32ToWord16 =
538 make {zextdFromLargeToSmall = zextdFromInt32ToWord16,
539 zextdFromSmallToLarge = zextdFromWord16ToInt32}
540 val zchckFromInt32ToWord32 = zextdFromInt32ToWord32
541 val zchckFromInt32ToWord64 = zextdFromInt32ToWord64
542 val zchckFromInt64ToInt8 =
543 make {zextdFromLargeToSmall = zextdFromInt64ToInt8,
544 zextdFromSmallToLarge = zextdFromInt8ToInt64}
545 val zchckFromInt64ToInt16 =
546 make {zextdFromLargeToSmall = zextdFromInt64ToInt16,
547 zextdFromSmallToLarge = zextdFromInt16ToInt64}
548 val zchckFromInt64ToInt32 =
549 make {zextdFromLargeToSmall = zextdFromInt64ToInt32,
550 zextdFromSmallToLarge = zextdFromInt32ToInt64}
551 val zchckFromInt64ToInt64 = zextdFromInt64ToInt64
552 val zchckFromInt64ToWord8 =
553 make {zextdFromLargeToSmall = zextdFromInt64ToWord8,
554 zextdFromSmallToLarge = zextdFromWord8ToInt64}
555 val zchckFromInt64ToWord16 =
556 make {zextdFromLargeToSmall = zextdFromInt64ToWord16,
557 zextdFromSmallToLarge = zextdFromWord16ToInt64}
558 val zchckFromInt64ToWord32 =
559 make {zextdFromLargeToSmall = zextdFromInt64ToWord32,
560 zextdFromSmallToLarge = zextdFromWord32ToInt64}
561 val zchckFromInt64ToWord64 = zextdFromInt64ToWord64
562
563 val zchckFromWord8ToInt8 = zextdFromWord8ToInt8
564 val zchckFromWord8ToInt16 = zextdFromWord8ToInt16
565 val zchckFromWord8ToInt32 = zextdFromWord8ToInt32
566 val zchckFromWord8ToInt64 = zextdFromWord8ToInt64
567 val zchckFromWord8ToWord8 = zextdFromWord8ToWord8
568 val zchckFromWord8ToWord16 = zextdFromWord8ToWord16
569 val zchckFromWord8ToWord32 = zextdFromWord8ToWord32
570 val zchckFromWord8ToWord64 = zextdFromWord8ToWord64
571 val zchckFromWord16ToInt8 =
572 make {zextdFromLargeToSmall = zextdFromWord16ToInt8,
573 zextdFromSmallToLarge = zextdFromInt8ToWord16}
574 val zchckFromWord16ToInt16 = zextdFromWord16ToInt16
575 val zchckFromWord16ToInt32 = zextdFromWord16ToInt32
576 val zchckFromWord16ToInt64 = zextdFromWord16ToInt64
577 val zchckFromWord16ToWord8 =
578 make {zextdFromLargeToSmall = zextdFromWord16ToWord8,
579 zextdFromSmallToLarge = zextdFromWord8ToWord16}
580 val zchckFromWord16ToWord16 = zextdFromWord16ToWord16
581 val zchckFromWord16ToWord32 = zextdFromWord16ToWord32
582 val zchckFromWord16ToWord64 = zextdFromWord16ToWord64
583 val zchckFromWord32ToInt8 =
584 make {zextdFromLargeToSmall = zextdFromWord32ToInt8,
585 zextdFromSmallToLarge = zextdFromInt8ToWord32}
586 val zchckFromWord32ToInt16 =
587 make {zextdFromLargeToSmall = zextdFromWord32ToInt16,
588 zextdFromSmallToLarge = zextdFromInt16ToWord32}
589 val zchckFromWord32ToInt32 = zextdFromWord32ToInt32
590 val zchckFromWord32ToInt64 = zextdFromWord32ToInt64
591 val zchckFromWord32ToWord8 =
592 make {zextdFromLargeToSmall = zextdFromWord32ToWord8,
593 zextdFromSmallToLarge = zextdFromWord8ToWord32}
594 val zchckFromWord32ToWord16 =
595 make {zextdFromLargeToSmall = zextdFromWord32ToWord16,
596 zextdFromSmallToLarge = zextdFromWord16ToWord32}
597 val zchckFromWord32ToWord32 = zextdFromWord32ToWord32
598 val zchckFromWord32ToWord64 = zextdFromWord32ToWord64
599 val zchckFromWord64ToInt8 =
600 make {zextdFromLargeToSmall = zextdFromWord64ToInt8,
601 zextdFromSmallToLarge = zextdFromInt8ToWord64}
602 val zchckFromWord64ToInt16 =
603 make {zextdFromLargeToSmall = zextdFromWord64ToInt16,
604 zextdFromSmallToLarge = zextdFromInt16ToWord64}
605 val zchckFromWord64ToInt32 =
606 make {zextdFromLargeToSmall = zextdFromWord64ToInt32,
607 zextdFromSmallToLarge = zextdFromInt32ToWord64}
608 val zchckFromWord64ToInt64 = zextdFromWord64ToInt64
609 val zchckFromWord64ToWord8 =
610 make {zextdFromLargeToSmall = zextdFromWord64ToWord8,
611 zextdFromSmallToLarge = zextdFromWord8ToWord64}
612 val zchckFromWord64ToWord16 =
613 make {zextdFromLargeToSmall = zextdFromWord64ToWord16,
614 zextdFromSmallToLarge = zextdFromWord16ToWord64}
615 val zchckFromWord64ToWord32 =
616 make {zextdFromLargeToSmall = zextdFromWord64ToWord32,
617 zextdFromSmallToLarge = zextdFromWord32ToWord64}
618 val zchckFromWord64ToWord64 = zextdFromWord64ToWord64
619 end
620
621 (* checked sign-extend or low-bits,
622 * Overflow if composed sign-extend not identity
623 *)
624 local
625 fun (''l, ''s) make {sextdFromLargeToSmall: ''l -> ''s,
626 sextdFromSmallToLarge: ''s -> ''l} =
627 if Primitive.Controls.detectOverflow
628 then fn (x: ''l) => let
629 val res = sextdFromLargeToSmall x
630 in
631 if x = (sextdFromSmallToLarge res)
632 then res
633 else raise Overflow
634 end
635 else sextdFromLargeToSmall
636 in
637 val schckFromInt8ToInt8 = sextdFromInt8ToInt8
638 val schckFromInt8ToInt16 = sextdFromInt8ToInt16
639 val schckFromInt8ToInt32 = sextdFromInt8ToInt32
640 val schckFromInt8ToInt64 = sextdFromInt8ToInt64
641 val schckFromInt8ToWord8 = sextdFromInt8ToWord8
642 val schckFromInt8ToWord16 = sextdFromInt8ToWord16
643 val schckFromInt8ToWord32 = sextdFromInt8ToWord32
644 val schckFromInt8ToWord64 = sextdFromInt8ToWord64
645 val schckFromInt16ToInt8 =
646 make {sextdFromLargeToSmall = sextdFromInt16ToInt8,
647 sextdFromSmallToLarge = sextdFromInt8ToInt16}
648 val schckFromInt16ToInt16 = sextdFromInt16ToInt16
649 val schckFromInt16ToInt32 = sextdFromInt16ToInt32
650 val schckFromInt16ToInt64 = sextdFromInt16ToInt64
651 val schckFromInt16ToWord8 =
652 make {sextdFromLargeToSmall = sextdFromInt16ToWord8,
653 sextdFromSmallToLarge = sextdFromWord8ToInt16}
654 val schckFromInt16ToWord16 = sextdFromInt16ToWord16
655 val schckFromInt16ToWord32 = sextdFromInt16ToWord32
656 val schckFromInt16ToWord64 = sextdFromInt16ToWord64
657 val schckFromInt32ToInt8 =
658 make {sextdFromLargeToSmall = sextdFromInt32ToInt8,
659 sextdFromSmallToLarge = sextdFromInt8ToInt32}
660 val schckFromInt32ToInt16 =
661 make {sextdFromLargeToSmall = sextdFromInt32ToInt16,
662 sextdFromSmallToLarge = sextdFromInt16ToInt32}
663 val schckFromInt32ToInt32 = sextdFromInt32ToInt32
664 val schckFromInt32ToInt64 = sextdFromInt32ToInt64
665 val schckFromInt32ToWord8 =
666 make {sextdFromLargeToSmall = sextdFromInt32ToWord8,
667 sextdFromSmallToLarge = sextdFromWord8ToInt32}
668 val schckFromInt32ToWord16 =
669 make {sextdFromLargeToSmall = sextdFromInt32ToWord16,
670 sextdFromSmallToLarge = sextdFromWord16ToInt32}
671 val schckFromInt32ToWord32 = sextdFromInt32ToWord32
672 val schckFromInt32ToWord64 = sextdFromInt32ToWord64
673 val schckFromInt64ToInt8 =
674 make {sextdFromLargeToSmall = sextdFromInt64ToInt8,
675 sextdFromSmallToLarge = sextdFromInt8ToInt64}
676 val schckFromInt64ToInt16 =
677 make {sextdFromLargeToSmall = sextdFromInt64ToInt16,
678 sextdFromSmallToLarge = sextdFromInt16ToInt64}
679 val schckFromInt64ToInt32 =
680 make {sextdFromLargeToSmall = sextdFromInt64ToInt32,
681 sextdFromSmallToLarge = sextdFromInt32ToInt64}
682 val schckFromInt64ToInt64 = sextdFromInt64ToInt64
683 val schckFromInt64ToWord8 =
684 make {sextdFromLargeToSmall = sextdFromInt64ToWord8,
685 sextdFromSmallToLarge = sextdFromWord8ToInt64}
686 val schckFromInt64ToWord16 =
687 make {sextdFromLargeToSmall = sextdFromInt64ToWord16,
688 sextdFromSmallToLarge = sextdFromWord16ToInt64}
689 val schckFromInt64ToWord32 =
690 make {sextdFromLargeToSmall = sextdFromInt64ToWord32,
691 sextdFromSmallToLarge = sextdFromWord32ToInt64}
692 val schckFromInt64ToWord64 = sextdFromInt64ToWord64
693
694 val schckFromWord8ToInt8 = sextdFromWord8ToInt8
695 val schckFromWord8ToInt16 = sextdFromWord8ToInt16
696 val schckFromWord8ToInt32 = sextdFromWord8ToInt32
697 val schckFromWord8ToInt64 = sextdFromWord8ToInt64
698 val schckFromWord8ToWord8 = sextdFromWord8ToWord8
699 val schckFromWord8ToWord16 = sextdFromWord8ToWord16
700 val schckFromWord8ToWord32 = sextdFromWord8ToWord32
701 val schckFromWord8ToWord64 = sextdFromWord8ToWord64
702 val schckFromWord16ToInt8 =
703 make {sextdFromLargeToSmall = sextdFromWord16ToInt8,
704 sextdFromSmallToLarge = sextdFromInt8ToWord16}
705 val schckFromWord16ToInt16 = sextdFromWord16ToInt16
706 val schckFromWord16ToInt32 = sextdFromWord16ToInt32
707 val schckFromWord16ToInt64 = sextdFromWord16ToInt64
708 val schckFromWord16ToWord8 =
709 make {sextdFromLargeToSmall = sextdFromWord16ToWord8,
710 sextdFromSmallToLarge = sextdFromWord8ToWord16}
711 val schckFromWord16ToWord16 = sextdFromWord16ToWord16
712 val schckFromWord16ToWord32 = sextdFromWord16ToWord32
713 val schckFromWord16ToWord64 = sextdFromWord16ToWord64
714 val schckFromWord32ToInt8 =
715 make {sextdFromLargeToSmall = sextdFromWord32ToInt8,
716 sextdFromSmallToLarge = sextdFromInt8ToWord32}
717 val schckFromWord32ToInt16 =
718 make {sextdFromLargeToSmall = sextdFromWord32ToInt16,
719 sextdFromSmallToLarge = sextdFromInt16ToWord32}
720 val schckFromWord32ToInt32 = sextdFromWord32ToInt32
721 val schckFromWord32ToInt64 = sextdFromWord32ToInt64
722 val schckFromWord32ToWord8 =
723 make {sextdFromLargeToSmall = sextdFromWord32ToWord8,
724 sextdFromSmallToLarge = sextdFromWord8ToWord32}
725 val schckFromWord32ToWord16 =
726 make {sextdFromLargeToSmall = sextdFromWord32ToWord16,
727 sextdFromSmallToLarge = sextdFromWord16ToWord32}
728 val schckFromWord32ToWord32 = sextdFromWord32ToWord32
729 val schckFromWord32ToWord64 = sextdFromWord32ToWord64
730 val schckFromWord64ToInt8 =
731 make {sextdFromLargeToSmall = sextdFromWord64ToInt8,
732 sextdFromSmallToLarge = sextdFromInt8ToWord64}
733 val schckFromWord64ToInt16 =
734 make {sextdFromLargeToSmall = sextdFromWord64ToInt16,
735 sextdFromSmallToLarge = sextdFromInt16ToWord64}
736 val schckFromWord64ToInt32 =
737 make {sextdFromLargeToSmall = sextdFromWord64ToInt32,
738 sextdFromSmallToLarge = sextdFromInt32ToWord64}
739 val schckFromWord64ToInt64 = sextdFromWord64ToInt64
740 val schckFromWord64ToWord8 =
741 make {sextdFromLargeToSmall = sextdFromWord64ToWord8,
742 sextdFromSmallToLarge = sextdFromWord8ToWord64}
743 val schckFromWord64ToWord16 =
744 make {sextdFromLargeToSmall = sextdFromWord64ToWord16,
745 sextdFromSmallToLarge = sextdFromWord16ToWord64}
746 val schckFromWord64ToWord32 =
747 make {sextdFromLargeToSmall = sextdFromWord64ToWord32,
748 sextdFromSmallToLarge = sextdFromWord32ToWord64}
749 val schckFromWord64ToWord64 = sextdFromWord64ToWord64
750 end
751
752 end
753
754 structure Int8 : PRIM_INTEGER =
755 struct
756 open Int8
757
758 val zextdFromInt8 = IntWordConv.zextdFromInt8ToInt8
759 val zextdFromInt16 = IntWordConv.zextdFromInt16ToInt8
760 val zextdFromInt32 = IntWordConv.zextdFromInt32ToInt8
761 val zextdFromInt64 = IntWordConv.zextdFromInt64ToInt8
762 val zextdFromWord8 = IntWordConv.zextdFromWord8ToInt8
763 val zextdFromWord16 = IntWordConv.zextdFromWord16ToInt8
764 val zextdFromWord32 = IntWordConv.zextdFromWord32ToInt8
765 val zextdFromWord64 = IntWordConv.zextdFromWord64ToInt8
766 val zextdToInt8 = IntWordConv.zextdFromInt8ToInt8
767 val zextdToInt16 = IntWordConv.zextdFromInt8ToInt16
768 val zextdToInt32 = IntWordConv.zextdFromInt8ToInt32
769 val zextdToInt64 = IntWordConv.zextdFromInt8ToInt64
770 val zextdToWord8 = IntWordConv.zextdFromInt8ToWord8
771 val zextdToWord16 = IntWordConv.zextdFromInt8ToWord16
772 val zextdToWord32 = IntWordConv.zextdFromInt8ToWord32
773 val zextdToWord64 = IntWordConv.zextdFromInt8ToWord64
774
775 val sextdFromInt8 = IntWordConv.sextdFromInt8ToInt8
776 val sextdFromInt16 = IntWordConv.sextdFromInt16ToInt8
777 val sextdFromInt32 = IntWordConv.sextdFromInt32ToInt8
778 val sextdFromInt64 = IntWordConv.sextdFromInt64ToInt8
779 val sextdFromWord8 = IntWordConv.sextdFromWord8ToInt8
780 val sextdFromWord16 = IntWordConv.sextdFromWord16ToInt8
781 val sextdFromWord32 = IntWordConv.sextdFromWord32ToInt8
782 val sextdFromWord64 = IntWordConv.sextdFromWord64ToInt8
783 val sextdToInt8 = IntWordConv.sextdFromInt8ToInt8
784 val sextdToInt16 = IntWordConv.sextdFromInt8ToInt16
785 val sextdToInt32 = IntWordConv.sextdFromInt8ToInt32
786 val sextdToInt64 = IntWordConv.sextdFromInt8ToInt64
787 val sextdToWord8 = IntWordConv.sextdFromInt8ToWord8
788 val sextdToWord16 = IntWordConv.sextdFromInt8ToWord16
789 val sextdToWord32 = IntWordConv.sextdFromInt8ToWord32
790 val sextdToWord64 = IntWordConv.sextdFromInt8ToWord64
791
792 val castFromInt8 = IntWordConv.castFromInt8ToInt8
793 val castFromInt16 = IntWordConv.castFromInt16ToInt8
794 val castFromInt32 = IntWordConv.castFromInt32ToInt8
795 val castFromInt64 = IntWordConv.castFromInt64ToInt8
796 val castFromWord8 = IntWordConv.castFromWord8ToInt8
797 val castFromWord16 = IntWordConv.castFromWord16ToInt8
798 val castFromWord32 = IntWordConv.castFromWord32ToInt8
799 val castFromWord64 = IntWordConv.castFromWord64ToInt8
800 val castToInt8 = IntWordConv.castFromInt8ToInt8
801 val castToInt16 = IntWordConv.castFromInt8ToInt16
802 val castToInt32 = IntWordConv.castFromInt8ToInt32
803 val castToInt64 = IntWordConv.castFromInt8ToInt64
804 val castToWord8 = IntWordConv.castFromInt8ToWord8
805 val castToWord16 = IntWordConv.castFromInt8ToWord16
806 val castToWord32 = IntWordConv.castFromInt8ToWord32
807 val castToWord64 = IntWordConv.castFromInt8ToWord64
808
809 val zchckFromInt8 = IntWordConv.zchckFromInt8ToInt8
810 val zchckFromInt16 = IntWordConv.zchckFromInt16ToInt8
811 val zchckFromInt32 = IntWordConv.zchckFromInt32ToInt8
812 val zchckFromInt64 = IntWordConv.zchckFromInt64ToInt8
813 val zchckFromWord8 = IntWordConv.zchckFromWord8ToInt8
814 val zchckFromWord16 = IntWordConv.zchckFromWord16ToInt8
815 val zchckFromWord32 = IntWordConv.zchckFromWord32ToInt8
816 val zchckFromWord64 = IntWordConv.zchckFromWord64ToInt8
817 val zchckToInt8 = IntWordConv.zchckFromInt8ToInt8
818 val zchckToInt16 = IntWordConv.zchckFromInt8ToInt16
819 val zchckToInt32 = IntWordConv.zchckFromInt8ToInt32
820 val zchckToInt64 = IntWordConv.zchckFromInt8ToInt64
821 val zchckToWord8 = IntWordConv.zchckFromInt8ToWord8
822 val zchckToWord16 = IntWordConv.zchckFromInt8ToWord16
823 val zchckToWord32 = IntWordConv.zchckFromInt8ToWord32
824 val zchckToWord64 = IntWordConv.zchckFromInt8ToWord64
825
826 val schckFromInt8 = IntWordConv.schckFromInt8ToInt8
827 val schckFromInt16 = IntWordConv.schckFromInt16ToInt8
828 val schckFromInt32 = IntWordConv.schckFromInt32ToInt8
829 val schckFromInt64 = IntWordConv.schckFromInt64ToInt8
830 val schckFromWord8 = IntWordConv.schckFromWord8ToInt8
831 val schckFromWord16 = IntWordConv.schckFromWord16ToInt8
832 val schckFromWord32 = IntWordConv.schckFromWord32ToInt8
833 val schckFromWord64 = IntWordConv.schckFromWord64ToInt8
834 val schckToInt8 = IntWordConv.schckFromInt8ToInt8
835 val schckToInt16 = IntWordConv.schckFromInt8ToInt16
836 val schckToInt32 = IntWordConv.schckFromInt8ToInt32
837 val schckToInt64 = IntWordConv.schckFromInt8ToInt64
838 val schckToWord8 = IntWordConv.schckFromInt8ToWord8
839 val schckToWord16 = IntWordConv.schckFromInt8ToWord16
840 val schckToWord32 = IntWordConv.schckFromInt8ToWord32
841 val schckToWord64 = IntWordConv.schckFromInt8ToWord64
842 end
843
844 structure Int16 : PRIM_INTEGER =
845 struct
846 open Int16
847
848 val zextdFromInt8 = IntWordConv.zextdFromInt8ToInt16
849 val zextdFromInt16 = IntWordConv.zextdFromInt16ToInt16
850 val zextdFromInt32 = IntWordConv.zextdFromInt32ToInt16
851 val zextdFromInt64 = IntWordConv.zextdFromInt64ToInt16
852 val zextdFromWord8 = IntWordConv.zextdFromWord8ToInt16
853 val zextdFromWord16 = IntWordConv.zextdFromWord16ToInt16
854 val zextdFromWord32 = IntWordConv.zextdFromWord32ToInt16
855 val zextdFromWord64 = IntWordConv.zextdFromWord64ToInt16
856 val zextdToInt8 = IntWordConv.zextdFromInt16ToInt8
857 val zextdToInt16 = IntWordConv.zextdFromInt16ToInt16
858 val zextdToInt32 = IntWordConv.zextdFromInt16ToInt32
859 val zextdToInt64 = IntWordConv.zextdFromInt16ToInt64
860 val zextdToWord8 = IntWordConv.zextdFromInt16ToWord8
861 val zextdToWord16 = IntWordConv.zextdFromInt16ToWord16
862 val zextdToWord32 = IntWordConv.zextdFromInt16ToWord32
863 val zextdToWord64 = IntWordConv.zextdFromInt16ToWord64
864
865 val sextdFromInt8 = IntWordConv.sextdFromInt8ToInt16
866 val sextdFromInt16 = IntWordConv.sextdFromInt16ToInt16
867 val sextdFromInt32 = IntWordConv.sextdFromInt32ToInt16
868 val sextdFromInt64 = IntWordConv.sextdFromInt64ToInt16
869 val sextdFromWord8 = IntWordConv.sextdFromWord8ToInt16
870 val sextdFromWord16 = IntWordConv.sextdFromWord16ToInt16
871 val sextdFromWord32 = IntWordConv.sextdFromWord32ToInt16
872 val sextdFromWord64 = IntWordConv.sextdFromWord64ToInt16
873 val sextdToInt8 = IntWordConv.sextdFromInt16ToInt8
874 val sextdToInt16 = IntWordConv.sextdFromInt16ToInt16
875 val sextdToInt32 = IntWordConv.sextdFromInt16ToInt32
876 val sextdToInt64 = IntWordConv.sextdFromInt16ToInt64
877 val sextdToWord8 = IntWordConv.sextdFromInt16ToWord8
878 val sextdToWord16 = IntWordConv.sextdFromInt16ToWord16
879 val sextdToWord32 = IntWordConv.sextdFromInt16ToWord32
880 val sextdToWord64 = IntWordConv.sextdFromInt16ToWord64
881
882 val castFromInt8 = IntWordConv.castFromInt8ToInt16
883 val castFromInt16 = IntWordConv.castFromInt16ToInt16
884 val castFromInt32 = IntWordConv.castFromInt32ToInt16
885 val castFromInt64 = IntWordConv.castFromInt64ToInt16
886 val castFromWord8 = IntWordConv.castFromWord8ToInt16
887 val castFromWord16 = IntWordConv.castFromWord16ToInt16
888 val castFromWord32 = IntWordConv.castFromWord32ToInt16
889 val castFromWord64 = IntWordConv.castFromWord64ToInt16
890 val castToInt8 = IntWordConv.castFromInt16ToInt8
891 val castToInt16 = IntWordConv.castFromInt16ToInt16
892 val castToInt32 = IntWordConv.castFromInt16ToInt32
893 val castToInt64 = IntWordConv.castFromInt16ToInt64
894 val castToWord8 = IntWordConv.castFromInt16ToWord8
895 val castToWord16 = IntWordConv.castFromInt16ToWord16
896 val castToWord32 = IntWordConv.castFromInt16ToWord32
897 val castToWord64 = IntWordConv.castFromInt16ToWord64
898
899 val zchckFromInt8 = IntWordConv.zchckFromInt8ToInt16
900 val zchckFromInt16 = IntWordConv.zchckFromInt16ToInt16
901 val zchckFromInt32 = IntWordConv.zchckFromInt32ToInt16
902 val zchckFromInt64 = IntWordConv.zchckFromInt64ToInt16
903 val zchckFromWord8 = IntWordConv.zchckFromWord8ToInt16
904 val zchckFromWord16 = IntWordConv.zchckFromWord16ToInt16
905 val zchckFromWord32 = IntWordConv.zchckFromWord32ToInt16
906 val zchckFromWord64 = IntWordConv.zchckFromWord64ToInt16
907 val zchckToInt8 = IntWordConv.zchckFromInt16ToInt8
908 val zchckToInt16 = IntWordConv.zchckFromInt16ToInt16
909 val zchckToInt32 = IntWordConv.zchckFromInt16ToInt32
910 val zchckToInt64 = IntWordConv.zchckFromInt16ToInt64
911 val zchckToWord8 = IntWordConv.zchckFromInt16ToWord8
912 val zchckToWord16 = IntWordConv.zchckFromInt16ToWord16
913 val zchckToWord32 = IntWordConv.zchckFromInt16ToWord32
914 val zchckToWord64 = IntWordConv.zchckFromInt16ToWord64
915
916 val schckFromInt8 = IntWordConv.schckFromInt8ToInt16
917 val schckFromInt16 = IntWordConv.schckFromInt16ToInt16
918 val schckFromInt32 = IntWordConv.schckFromInt32ToInt16
919 val schckFromInt64 = IntWordConv.schckFromInt64ToInt16
920 val schckFromWord8 = IntWordConv.schckFromWord8ToInt16
921 val schckFromWord16 = IntWordConv.schckFromWord16ToInt16
922 val schckFromWord32 = IntWordConv.schckFromWord32ToInt16
923 val schckFromWord64 = IntWordConv.schckFromWord64ToInt16
924 val schckToInt8 = IntWordConv.schckFromInt16ToInt8
925 val schckToInt16 = IntWordConv.schckFromInt16ToInt16
926 val schckToInt32 = IntWordConv.schckFromInt16ToInt32
927 val schckToInt64 = IntWordConv.schckFromInt16ToInt64
928 val schckToWord8 = IntWordConv.schckFromInt16ToWord8
929 val schckToWord16 = IntWordConv.schckFromInt16ToWord16
930 val schckToWord32 = IntWordConv.schckFromInt16ToWord32
931 val schckToWord64 = IntWordConv.schckFromInt16ToWord64
932 end
933
934 structure Int32 : PRIM_INTEGER =
935 struct
936 open Int32
937
938 val zextdFromInt8 = IntWordConv.zextdFromInt8ToInt32
939 val zextdFromInt16 = IntWordConv.zextdFromInt16ToInt32
940 val zextdFromInt32 = IntWordConv.zextdFromInt32ToInt32
941 val zextdFromInt64 = IntWordConv.zextdFromInt64ToInt32
942 val zextdFromWord8 = IntWordConv.zextdFromWord8ToInt32
943 val zextdFromWord16 = IntWordConv.zextdFromWord16ToInt32
944 val zextdFromWord32 = IntWordConv.zextdFromWord32ToInt32
945 val zextdFromWord64 = IntWordConv.zextdFromWord64ToInt32
946 val zextdToInt8 = IntWordConv.zextdFromInt32ToInt8
947 val zextdToInt16 = IntWordConv.zextdFromInt32ToInt16
948 val zextdToInt32 = IntWordConv.zextdFromInt32ToInt32
949 val zextdToInt64 = IntWordConv.zextdFromInt32ToInt64
950 val zextdToWord8 = IntWordConv.zextdFromInt32ToWord8
951 val zextdToWord16 = IntWordConv.zextdFromInt32ToWord16
952 val zextdToWord32 = IntWordConv.zextdFromInt32ToWord32
953 val zextdToWord64 = IntWordConv.zextdFromInt32ToWord64
954
955 val sextdFromInt8 = IntWordConv.sextdFromInt8ToInt32
956 val sextdFromInt16 = IntWordConv.sextdFromInt16ToInt32
957 val sextdFromInt32 = IntWordConv.sextdFromInt32ToInt32
958 val sextdFromInt64 = IntWordConv.sextdFromInt64ToInt32
959 val sextdFromWord8 = IntWordConv.sextdFromWord8ToInt32
960 val sextdFromWord16 = IntWordConv.sextdFromWord16ToInt32
961 val sextdFromWord32 = IntWordConv.sextdFromWord32ToInt32
962 val sextdFromWord64 = IntWordConv.sextdFromWord64ToInt32
963 val sextdToInt8 = IntWordConv.sextdFromInt32ToInt8
964 val sextdToInt16 = IntWordConv.sextdFromInt32ToInt16
965 val sextdToInt32 = IntWordConv.sextdFromInt32ToInt32
966 val sextdToInt64 = IntWordConv.sextdFromInt32ToInt64
967 val sextdToWord8 = IntWordConv.sextdFromInt32ToWord8
968 val sextdToWord16 = IntWordConv.sextdFromInt32ToWord16
969 val sextdToWord32 = IntWordConv.sextdFromInt32ToWord32
970 val sextdToWord64 = IntWordConv.sextdFromInt32ToWord64
971
972 val castFromInt8 = IntWordConv.castFromInt8ToInt32
973 val castFromInt16 = IntWordConv.castFromInt16ToInt32
974 val castFromInt32 = IntWordConv.castFromInt32ToInt32
975 val castFromInt64 = IntWordConv.castFromInt64ToInt32
976 val castFromWord8 = IntWordConv.castFromWord8ToInt32
977 val castFromWord16 = IntWordConv.castFromWord16ToInt32
978 val castFromWord32 = IntWordConv.castFromWord32ToInt32
979 val castFromWord64 = IntWordConv.castFromWord64ToInt32
980 val castToInt8 = IntWordConv.castFromInt32ToInt8
981 val castToInt16 = IntWordConv.castFromInt32ToInt16
982 val castToInt32 = IntWordConv.castFromInt32ToInt32
983 val castToInt64 = IntWordConv.castFromInt32ToInt64
984 val castToWord8 = IntWordConv.castFromInt32ToWord8
985 val castToWord16 = IntWordConv.castFromInt32ToWord16
986 val castToWord32 = IntWordConv.castFromInt32ToWord32
987 val castToWord64 = IntWordConv.castFromInt32ToWord64
988
989 val zchckFromInt8 = IntWordConv.zchckFromInt8ToInt32
990 val zchckFromInt16 = IntWordConv.zchckFromInt16ToInt32
991 val zchckFromInt32 = IntWordConv.zchckFromInt32ToInt32
992 val zchckFromInt64 = IntWordConv.zchckFromInt64ToInt32
993 val zchckFromWord8 = IntWordConv.zchckFromWord8ToInt32
994 val zchckFromWord16 = IntWordConv.zchckFromWord16ToInt32
995 val zchckFromWord32 = IntWordConv.zchckFromWord32ToInt32
996 val zchckFromWord64 = IntWordConv.zchckFromWord64ToInt32
997 val zchckToInt8 = IntWordConv.zchckFromInt32ToInt8
998 val zchckToInt16 = IntWordConv.zchckFromInt32ToInt16
999 val zchckToInt32 = IntWordConv.zchckFromInt32ToInt32
1000 val zchckToInt64 = IntWordConv.zchckFromInt32ToInt64
1001 val zchckToWord8 = IntWordConv.zchckFromInt32ToWord8
1002 val zchckToWord16 = IntWordConv.zchckFromInt32ToWord16
1003 val zchckToWord32 = IntWordConv.zchckFromInt32ToWord32
1004 val zchckToWord64 = IntWordConv.zchckFromInt32ToWord64
1005
1006 val schckFromInt8 = IntWordConv.schckFromInt8ToInt32
1007 val schckFromInt16 = IntWordConv.schckFromInt16ToInt32
1008 val schckFromInt32 = IntWordConv.schckFromInt32ToInt32
1009 val schckFromInt64 = IntWordConv.schckFromInt64ToInt32
1010 val schckFromWord8 = IntWordConv.schckFromWord8ToInt32
1011 val schckFromWord16 = IntWordConv.schckFromWord16ToInt32
1012 val schckFromWord32 = IntWordConv.schckFromWord32ToInt32
1013 val schckFromWord64 = IntWordConv.schckFromWord64ToInt32
1014 val schckToInt8 = IntWordConv.schckFromInt32ToInt8
1015 val schckToInt16 = IntWordConv.schckFromInt32ToInt16
1016 val schckToInt32 = IntWordConv.schckFromInt32ToInt32
1017 val schckToInt64 = IntWordConv.schckFromInt32ToInt64
1018 val schckToWord8 = IntWordConv.schckFromInt32ToWord8
1019 val schckToWord16 = IntWordConv.schckFromInt32ToWord16
1020 val schckToWord32 = IntWordConv.schckFromInt32ToWord32
1021 val schckToWord64 = IntWordConv.schckFromInt32ToWord64
1022 end
1023
1024 structure Int64 : PRIM_INTEGER =
1025 struct
1026 open Int64
1027
1028 val zextdFromInt8 = IntWordConv.zextdFromInt8ToInt64
1029 val zextdFromInt16 = IntWordConv.zextdFromInt16ToInt64
1030 val zextdFromInt32 = IntWordConv.zextdFromInt32ToInt64
1031 val zextdFromInt64 = IntWordConv.zextdFromInt64ToInt64
1032 val zextdFromWord8 = IntWordConv.zextdFromWord8ToInt64
1033 val zextdFromWord16 = IntWordConv.zextdFromWord16ToInt64
1034 val zextdFromWord32 = IntWordConv.zextdFromWord32ToInt64
1035 val zextdFromWord64 = IntWordConv.zextdFromWord64ToInt64
1036 val zextdToInt8 = IntWordConv.zextdFromInt64ToInt8
1037 val zextdToInt16 = IntWordConv.zextdFromInt64ToInt16
1038 val zextdToInt32 = IntWordConv.zextdFromInt64ToInt32
1039 val zextdToInt64 = IntWordConv.zextdFromInt64ToInt64
1040 val zextdToWord8 = IntWordConv.zextdFromInt64ToWord8
1041 val zextdToWord16 = IntWordConv.zextdFromInt64ToWord16
1042 val zextdToWord32 = IntWordConv.zextdFromInt64ToWord32
1043 val zextdToWord64 = IntWordConv.zextdFromInt64ToWord64
1044
1045 val sextdFromInt8 = IntWordConv.sextdFromInt8ToInt64
1046 val sextdFromInt16 = IntWordConv.sextdFromInt16ToInt64
1047 val sextdFromInt32 = IntWordConv.sextdFromInt32ToInt64
1048 val sextdFromInt64 = IntWordConv.sextdFromInt64ToInt64
1049 val sextdFromWord8 = IntWordConv.sextdFromWord8ToInt64
1050 val sextdFromWord16 = IntWordConv.sextdFromWord16ToInt64
1051 val sextdFromWord32 = IntWordConv.sextdFromWord32ToInt64
1052 val sextdFromWord64 = IntWordConv.sextdFromWord64ToInt64
1053 val sextdToInt8 = IntWordConv.sextdFromInt64ToInt8
1054 val sextdToInt16 = IntWordConv.sextdFromInt64ToInt16
1055 val sextdToInt32 = IntWordConv.sextdFromInt64ToInt32
1056 val sextdToInt64 = IntWordConv.sextdFromInt64ToInt64
1057 val sextdToWord8 = IntWordConv.sextdFromInt64ToWord8
1058 val sextdToWord16 = IntWordConv.sextdFromInt64ToWord16
1059 val sextdToWord32 = IntWordConv.sextdFromInt64ToWord32
1060 val sextdToWord64 = IntWordConv.sextdFromInt64ToWord64
1061
1062 val castFromInt8 = IntWordConv.castFromInt8ToInt64
1063 val castFromInt16 = IntWordConv.castFromInt16ToInt64
1064 val castFromInt32 = IntWordConv.castFromInt32ToInt64
1065 val castFromInt64 = IntWordConv.castFromInt64ToInt64
1066 val castFromWord8 = IntWordConv.castFromWord8ToInt64
1067 val castFromWord16 = IntWordConv.castFromWord16ToInt64
1068 val castFromWord32 = IntWordConv.castFromWord32ToInt64
1069 val castFromWord64 = IntWordConv.castFromWord64ToInt64
1070 val castToInt8 = IntWordConv.castFromInt64ToInt8
1071 val castToInt16 = IntWordConv.castFromInt64ToInt16
1072 val castToInt32 = IntWordConv.castFromInt64ToInt32
1073 val castToInt64 = IntWordConv.castFromInt64ToInt64
1074 val castToWord8 = IntWordConv.castFromInt64ToWord8
1075 val castToWord16 = IntWordConv.castFromInt64ToWord16
1076 val castToWord32 = IntWordConv.castFromInt64ToWord32
1077 val castToWord64 = IntWordConv.castFromInt64ToWord64
1078
1079 val zchckFromInt8 = IntWordConv.zchckFromInt8ToInt64
1080 val zchckFromInt16 = IntWordConv.zchckFromInt16ToInt64
1081 val zchckFromInt32 = IntWordConv.zchckFromInt32ToInt64
1082 val zchckFromInt64 = IntWordConv.zchckFromInt64ToInt64
1083 val zchckFromWord8 = IntWordConv.zchckFromWord8ToInt64
1084 val zchckFromWord16 = IntWordConv.zchckFromWord16ToInt64
1085 val zchckFromWord32 = IntWordConv.zchckFromWord32ToInt64
1086 val zchckFromWord64 = IntWordConv.zchckFromWord64ToInt64
1087 val zchckToInt8 = IntWordConv.zchckFromInt64ToInt8
1088 val zchckToInt16 = IntWordConv.zchckFromInt64ToInt16
1089 val zchckToInt32 = IntWordConv.zchckFromInt64ToInt32
1090 val zchckToInt64 = IntWordConv.zchckFromInt64ToInt64
1091 val zchckToWord8 = IntWordConv.zchckFromInt64ToWord8
1092 val zchckToWord16 = IntWordConv.zchckFromInt64ToWord16
1093 val zchckToWord32 = IntWordConv.zchckFromInt64ToWord32
1094 val zchckToWord64 = IntWordConv.zchckFromInt64ToWord64
1095
1096 val schckFromInt8 = IntWordConv.schckFromInt8ToInt64
1097 val schckFromInt16 = IntWordConv.schckFromInt16ToInt64
1098 val schckFromInt32 = IntWordConv.schckFromInt32ToInt64
1099 val schckFromInt64 = IntWordConv.schckFromInt64ToInt64
1100 val schckFromWord8 = IntWordConv.schckFromWord8ToInt64
1101 val schckFromWord16 = IntWordConv.schckFromWord16ToInt64
1102 val schckFromWord32 = IntWordConv.schckFromWord32ToInt64
1103 val schckFromWord64 = IntWordConv.schckFromWord64ToInt64
1104 val schckToInt8 = IntWordConv.schckFromInt64ToInt8
1105 val schckToInt16 = IntWordConv.schckFromInt64ToInt16
1106 val schckToInt32 = IntWordConv.schckFromInt64ToInt32
1107 val schckToInt64 = IntWordConv.schckFromInt64ToInt64
1108 val schckToWord8 = IntWordConv.schckFromInt64ToWord8
1109 val schckToWord16 = IntWordConv.schckFromInt64ToWord16
1110 val schckToWord32 = IntWordConv.schckFromInt64ToWord32
1111 val schckToWord64 = IntWordConv.schckFromInt64ToWord64
1112 end
1113
1114 structure Word8 : PRIM_WORD =
1115 struct
1116 open Word8
1117
1118 val zextdFromInt8 = IntWordConv.zextdFromInt8ToWord8
1119 val zextdFromInt16 = IntWordConv.zextdFromInt16ToWord8
1120 val zextdFromInt32 = IntWordConv.zextdFromInt32ToWord8
1121 val zextdFromInt64 = IntWordConv.zextdFromInt64ToWord8
1122 val zextdFromWord8 = IntWordConv.zextdFromWord8ToWord8
1123 val zextdFromWord16 = IntWordConv.zextdFromWord16ToWord8
1124 val zextdFromWord32 = IntWordConv.zextdFromWord32ToWord8
1125 val zextdFromWord64 = IntWordConv.zextdFromWord64ToWord8
1126 val zextdToInt8 = IntWordConv.zextdFromWord8ToInt8
1127 val zextdToInt16 = IntWordConv.zextdFromWord8ToInt16
1128 val zextdToInt32 = IntWordConv.zextdFromWord8ToInt32
1129 val zextdToInt64 = IntWordConv.zextdFromWord8ToInt64
1130 val zextdToWord8 = IntWordConv.zextdFromWord8ToWord8
1131 val zextdToWord16 = IntWordConv.zextdFromWord8ToWord16
1132 val zextdToWord32 = IntWordConv.zextdFromWord8ToWord32
1133 val zextdToWord64 = IntWordConv.zextdFromWord8ToWord64
1134
1135 val sextdFromInt8 = IntWordConv.sextdFromInt8ToWord8
1136 val sextdFromInt16 = IntWordConv.sextdFromInt16ToWord8
1137 val sextdFromInt32 = IntWordConv.sextdFromInt32ToWord8
1138 val sextdFromInt64 = IntWordConv.sextdFromInt64ToWord8
1139 val sextdFromWord8 = IntWordConv.sextdFromWord8ToWord8
1140 val sextdFromWord16 = IntWordConv.sextdFromWord16ToWord8
1141 val sextdFromWord32 = IntWordConv.sextdFromWord32ToWord8
1142 val sextdFromWord64 = IntWordConv.sextdFromWord64ToWord8
1143 val sextdToInt8 = IntWordConv.sextdFromWord8ToInt8
1144 val sextdToInt16 = IntWordConv.sextdFromWord8ToInt16
1145 val sextdToInt32 = IntWordConv.sextdFromWord8ToInt32
1146 val sextdToInt64 = IntWordConv.sextdFromWord8ToInt64
1147 val sextdToWord8 = IntWordConv.sextdFromWord8ToWord8
1148 val sextdToWord16 = IntWordConv.sextdFromWord8ToWord16
1149 val sextdToWord32 = IntWordConv.sextdFromWord8ToWord32
1150 val sextdToWord64 = IntWordConv.sextdFromWord8ToWord64
1151
1152 val castFromInt8 = IntWordConv.castFromInt8ToWord8
1153 val castFromInt16 = IntWordConv.castFromInt16ToWord8
1154 val castFromInt32 = IntWordConv.castFromInt32ToWord8
1155 val castFromInt64 = IntWordConv.castFromInt64ToWord8
1156 val castFromWord8 = IntWordConv.castFromWord8ToWord8
1157 val castFromWord16 = IntWordConv.castFromWord16ToWord8
1158 val castFromWord32 = IntWordConv.castFromWord32ToWord8
1159 val castFromWord64 = IntWordConv.castFromWord64ToWord8
1160 val castToInt8 = IntWordConv.castFromWord8ToInt8
1161 val castToInt16 = IntWordConv.castFromWord8ToInt16
1162 val castToInt32 = IntWordConv.castFromWord8ToInt32
1163 val castToInt64 = IntWordConv.castFromWord8ToInt64
1164 val castToWord8 = IntWordConv.castFromWord8ToWord8
1165 val castToWord16 = IntWordConv.castFromWord8ToWord16
1166 val castToWord32 = IntWordConv.castFromWord8ToWord32
1167 val castToWord64 = IntWordConv.castFromWord8ToWord64
1168
1169 val zchckFromInt8 = IntWordConv.zchckFromInt8ToWord8
1170 val zchckFromInt16 = IntWordConv.zchckFromInt16ToWord8
1171 val zchckFromInt32 = IntWordConv.zchckFromInt32ToWord8
1172 val zchckFromInt64 = IntWordConv.zchckFromInt64ToWord8
1173 val zchckFromWord8 = IntWordConv.zchckFromWord8ToWord8
1174 val zchckFromWord16 = IntWordConv.zchckFromWord16ToWord8
1175 val zchckFromWord32 = IntWordConv.zchckFromWord32ToWord8
1176 val zchckFromWord64 = IntWordConv.zchckFromWord64ToWord8
1177 val zchckToInt8 = IntWordConv.zchckFromWord8ToInt8
1178 val zchckToInt16 = IntWordConv.zchckFromWord8ToInt16
1179 val zchckToInt32 = IntWordConv.zchckFromWord8ToInt32
1180 val zchckToInt64 = IntWordConv.zchckFromWord8ToInt64
1181 val zchckToWord8 = IntWordConv.zchckFromWord8ToWord8
1182 val zchckToWord16 = IntWordConv.zchckFromWord8ToWord16
1183 val zchckToWord32 = IntWordConv.zchckFromWord8ToWord32
1184 val zchckToWord64 = IntWordConv.zchckFromWord8ToWord64
1185
1186 val schckFromInt8 = IntWordConv.schckFromInt8ToWord8
1187 val schckFromInt16 = IntWordConv.schckFromInt16ToWord8
1188 val schckFromInt32 = IntWordConv.schckFromInt32ToWord8
1189 val schckFromInt64 = IntWordConv.schckFromInt64ToWord8
1190 val schckFromWord8 = IntWordConv.schckFromWord8ToWord8
1191 val schckFromWord16 = IntWordConv.schckFromWord16ToWord8
1192 val schckFromWord32 = IntWordConv.schckFromWord32ToWord8
1193 val schckFromWord64 = IntWordConv.schckFromWord64ToWord8
1194 val schckToInt8 = IntWordConv.schckFromWord8ToInt8
1195 val schckToInt16 = IntWordConv.schckFromWord8ToInt16
1196 val schckToInt32 = IntWordConv.schckFromWord8ToInt32
1197 val schckToInt64 = IntWordConv.schckFromWord8ToInt64
1198 val schckToWord8 = IntWordConv.schckFromWord8ToWord8
1199 val schckToWord16 = IntWordConv.schckFromWord8ToWord16
1200 val schckToWord32 = IntWordConv.schckFromWord8ToWord32
1201 val schckToWord64 = IntWordConv.schckFromWord8ToWord64
1202 end
1203
1204 structure Word16 : PRIM_WORD =
1205 struct
1206 open Word16
1207
1208 val zextdFromInt8 = IntWordConv.zextdFromInt8ToWord16
1209 val zextdFromInt16 = IntWordConv.zextdFromInt16ToWord16
1210 val zextdFromInt32 = IntWordConv.zextdFromInt32ToWord16
1211 val zextdFromInt64 = IntWordConv.zextdFromInt64ToWord16
1212 val zextdFromWord8 = IntWordConv.zextdFromWord8ToWord16
1213 val zextdFromWord16 = IntWordConv.zextdFromWord16ToWord16
1214 val zextdFromWord32 = IntWordConv.zextdFromWord32ToWord16
1215 val zextdFromWord64 = IntWordConv.zextdFromWord64ToWord16
1216 val zextdToInt8 = IntWordConv.zextdFromWord16ToInt8
1217 val zextdToInt16 = IntWordConv.zextdFromWord16ToInt16
1218 val zextdToInt32 = IntWordConv.zextdFromWord16ToInt32
1219 val zextdToInt64 = IntWordConv.zextdFromWord16ToInt64
1220 val zextdToWord8 = IntWordConv.zextdFromWord16ToWord8
1221 val zextdToWord16 = IntWordConv.zextdFromWord16ToWord16
1222 val zextdToWord32 = IntWordConv.zextdFromWord16ToWord32
1223 val zextdToWord64 = IntWordConv.zextdFromWord16ToWord64
1224
1225 val sextdFromInt8 = IntWordConv.sextdFromInt8ToWord16
1226 val sextdFromInt16 = IntWordConv.sextdFromInt16ToWord16
1227 val sextdFromInt32 = IntWordConv.sextdFromInt32ToWord16
1228 val sextdFromInt64 = IntWordConv.sextdFromInt64ToWord16
1229 val sextdFromWord8 = IntWordConv.sextdFromWord8ToWord16
1230 val sextdFromWord16 = IntWordConv.sextdFromWord16ToWord16
1231 val sextdFromWord32 = IntWordConv.sextdFromWord32ToWord16
1232 val sextdFromWord64 = IntWordConv.sextdFromWord64ToWord16
1233 val sextdToInt8 = IntWordConv.sextdFromWord16ToInt8
1234 val sextdToInt16 = IntWordConv.sextdFromWord16ToInt16
1235 val sextdToInt32 = IntWordConv.sextdFromWord16ToInt32
1236 val sextdToInt64 = IntWordConv.sextdFromWord16ToInt64
1237 val sextdToWord8 = IntWordConv.sextdFromWord16ToWord8
1238 val sextdToWord16 = IntWordConv.sextdFromWord16ToWord16
1239 val sextdToWord32 = IntWordConv.sextdFromWord16ToWord32
1240 val sextdToWord64 = IntWordConv.sextdFromWord16ToWord64
1241
1242 val castFromInt8 = IntWordConv.castFromInt8ToWord16
1243 val castFromInt16 = IntWordConv.castFromInt16ToWord16
1244 val castFromInt32 = IntWordConv.castFromInt32ToWord16
1245 val castFromInt64 = IntWordConv.castFromInt64ToWord16
1246 val castFromWord8 = IntWordConv.castFromWord8ToWord16
1247 val castFromWord16 = IntWordConv.castFromWord16ToWord16
1248 val castFromWord32 = IntWordConv.castFromWord32ToWord16
1249 val castFromWord64 = IntWordConv.castFromWord64ToWord16
1250 val castToInt8 = IntWordConv.castFromWord16ToInt8
1251 val castToInt16 = IntWordConv.castFromWord16ToInt16
1252 val castToInt32 = IntWordConv.castFromWord16ToInt32
1253 val castToInt64 = IntWordConv.castFromWord16ToInt64
1254 val castToWord8 = IntWordConv.castFromWord16ToWord8
1255 val castToWord16 = IntWordConv.castFromWord16ToWord16
1256 val castToWord32 = IntWordConv.castFromWord16ToWord32
1257 val castToWord64 = IntWordConv.castFromWord16ToWord64
1258
1259 val zchckFromInt8 = IntWordConv.zchckFromInt8ToWord16
1260 val zchckFromInt16 = IntWordConv.zchckFromInt16ToWord16
1261 val zchckFromInt32 = IntWordConv.zchckFromInt32ToWord16
1262 val zchckFromInt64 = IntWordConv.zchckFromInt64ToWord16
1263 val zchckFromWord8 = IntWordConv.zchckFromWord8ToWord16
1264 val zchckFromWord16 = IntWordConv.zchckFromWord16ToWord16
1265 val zchckFromWord32 = IntWordConv.zchckFromWord32ToWord16
1266 val zchckFromWord64 = IntWordConv.zchckFromWord64ToWord16
1267 val zchckToInt8 = IntWordConv.zchckFromWord16ToInt8
1268 val zchckToInt16 = IntWordConv.zchckFromWord16ToInt16
1269 val zchckToInt32 = IntWordConv.zchckFromWord16ToInt32
1270 val zchckToInt64 = IntWordConv.zchckFromWord16ToInt64
1271 val zchckToWord8 = IntWordConv.zchckFromWord16ToWord8
1272 val zchckToWord16 = IntWordConv.zchckFromWord16ToWord16
1273 val zchckToWord32 = IntWordConv.zchckFromWord16ToWord32
1274 val zchckToWord64 = IntWordConv.zchckFromWord16ToWord64
1275
1276 val schckFromInt8 = IntWordConv.schckFromInt8ToWord16
1277 val schckFromInt16 = IntWordConv.schckFromInt16ToWord16
1278 val schckFromInt32 = IntWordConv.schckFromInt32ToWord16
1279 val schckFromInt64 = IntWordConv.schckFromInt64ToWord16
1280 val schckFromWord8 = IntWordConv.schckFromWord8ToWord16
1281 val schckFromWord16 = IntWordConv.schckFromWord16ToWord16
1282 val schckFromWord32 = IntWordConv.schckFromWord32ToWord16
1283 val schckFromWord64 = IntWordConv.schckFromWord64ToWord16
1284 val schckToInt8 = IntWordConv.schckFromWord16ToInt8
1285 val schckToInt16 = IntWordConv.schckFromWord16ToInt16
1286 val schckToInt32 = IntWordConv.schckFromWord16ToInt32
1287 val schckToInt64 = IntWordConv.schckFromWord16ToInt64
1288 val schckToWord8 = IntWordConv.schckFromWord16ToWord8
1289 val schckToWord16 = IntWordConv.schckFromWord16ToWord16
1290 val schckToWord32 = IntWordConv.schckFromWord16ToWord32
1291 val schckToWord64 = IntWordConv.schckFromWord16ToWord64
1292 end
1293
1294 structure Word32 : PRIM_WORD =
1295 struct
1296 open Word32
1297
1298 val zextdFromInt8 = IntWordConv.zextdFromInt8ToWord32
1299 val zextdFromInt16 = IntWordConv.zextdFromInt16ToWord32
1300 val zextdFromInt32 = IntWordConv.zextdFromInt32ToWord32
1301 val zextdFromInt64 = IntWordConv.zextdFromInt64ToWord32
1302 val zextdFromWord8 = IntWordConv.zextdFromWord8ToWord32
1303 val zextdFromWord16 = IntWordConv.zextdFromWord16ToWord32
1304 val zextdFromWord32 = IntWordConv.zextdFromWord32ToWord32
1305 val zextdFromWord64 = IntWordConv.zextdFromWord64ToWord32
1306 val zextdToInt8 = IntWordConv.zextdFromWord32ToInt8
1307 val zextdToInt16 = IntWordConv.zextdFromWord32ToInt16
1308 val zextdToInt32 = IntWordConv.zextdFromWord32ToInt32
1309 val zextdToInt64 = IntWordConv.zextdFromWord32ToInt64
1310 val zextdToWord8 = IntWordConv.zextdFromWord32ToWord8
1311 val zextdToWord16 = IntWordConv.zextdFromWord32ToWord16
1312 val zextdToWord32 = IntWordConv.zextdFromWord32ToWord32
1313 val zextdToWord64 = IntWordConv.zextdFromWord32ToWord64
1314
1315 val sextdFromInt8 = IntWordConv.sextdFromInt8ToWord32
1316 val sextdFromInt16 = IntWordConv.sextdFromInt16ToWord32
1317 val sextdFromInt32 = IntWordConv.sextdFromInt32ToWord32
1318 val sextdFromInt64 = IntWordConv.sextdFromInt64ToWord32
1319 val sextdFromWord8 = IntWordConv.sextdFromWord8ToWord32
1320 val sextdFromWord16 = IntWordConv.sextdFromWord16ToWord32
1321 val sextdFromWord32 = IntWordConv.sextdFromWord32ToWord32
1322 val sextdFromWord64 = IntWordConv.sextdFromWord64ToWord32
1323 val sextdToInt8 = IntWordConv.sextdFromWord32ToInt8
1324 val sextdToInt16 = IntWordConv.sextdFromWord32ToInt16
1325 val sextdToInt32 = IntWordConv.sextdFromWord32ToInt32
1326 val sextdToInt64 = IntWordConv.sextdFromWord32ToInt64
1327 val sextdToWord8 = IntWordConv.sextdFromWord32ToWord8
1328 val sextdToWord16 = IntWordConv.sextdFromWord32ToWord16
1329 val sextdToWord32 = IntWordConv.sextdFromWord32ToWord32
1330 val sextdToWord64 = IntWordConv.sextdFromWord32ToWord64
1331
1332 val castFromInt8 = IntWordConv.castFromInt8ToWord32
1333 val castFromInt16 = IntWordConv.castFromInt16ToWord32
1334 val castFromInt32 = IntWordConv.castFromInt32ToWord32
1335 val castFromInt64 = IntWordConv.castFromInt64ToWord32
1336 val castFromWord8 = IntWordConv.castFromWord8ToWord32
1337 val castFromWord16 = IntWordConv.castFromWord16ToWord32
1338 val castFromWord32 = IntWordConv.castFromWord32ToWord32
1339 val castFromWord64 = IntWordConv.castFromWord64ToWord32
1340 val castToInt8 = IntWordConv.castFromWord32ToInt8
1341 val castToInt16 = IntWordConv.castFromWord32ToInt16
1342 val castToInt32 = IntWordConv.castFromWord32ToInt32
1343 val castToInt64 = IntWordConv.castFromWord32ToInt64
1344 val castToWord8 = IntWordConv.castFromWord32ToWord8
1345 val castToWord16 = IntWordConv.castFromWord32ToWord16
1346 val castToWord32 = IntWordConv.castFromWord32ToWord32
1347 val castToWord64 = IntWordConv.castFromWord32ToWord64
1348
1349 val zchckFromInt8 = IntWordConv.zchckFromInt8ToWord32
1350 val zchckFromInt16 = IntWordConv.zchckFromInt16ToWord32
1351 val zchckFromInt32 = IntWordConv.zchckFromInt32ToWord32
1352 val zchckFromInt64 = IntWordConv.zchckFromInt64ToWord32
1353 val zchckFromWord8 = IntWordConv.zchckFromWord8ToWord32
1354 val zchckFromWord16 = IntWordConv.zchckFromWord16ToWord32
1355 val zchckFromWord32 = IntWordConv.zchckFromWord32ToWord32
1356 val zchckFromWord64 = IntWordConv.zchckFromWord64ToWord32
1357 val zchckToInt8 = IntWordConv.zchckFromWord32ToInt8
1358 val zchckToInt16 = IntWordConv.zchckFromWord32ToInt16
1359 val zchckToInt32 = IntWordConv.zchckFromWord32ToInt32
1360 val zchckToInt64 = IntWordConv.zchckFromWord32ToInt64
1361 val zchckToWord8 = IntWordConv.zchckFromWord32ToWord8
1362 val zchckToWord16 = IntWordConv.zchckFromWord32ToWord16
1363 val zchckToWord32 = IntWordConv.zchckFromWord32ToWord32
1364 val zchckToWord64 = IntWordConv.zchckFromWord32ToWord64
1365
1366 val schckFromInt8 = IntWordConv.schckFromInt8ToWord32
1367 val schckFromInt16 = IntWordConv.schckFromInt16ToWord32
1368 val schckFromInt32 = IntWordConv.schckFromInt32ToWord32
1369 val schckFromInt64 = IntWordConv.schckFromInt64ToWord32
1370 val schckFromWord8 = IntWordConv.schckFromWord8ToWord32
1371 val schckFromWord16 = IntWordConv.schckFromWord16ToWord32
1372 val schckFromWord32 = IntWordConv.schckFromWord32ToWord32
1373 val schckFromWord64 = IntWordConv.schckFromWord64ToWord32
1374 val schckToInt8 = IntWordConv.schckFromWord32ToInt8
1375 val schckToInt16 = IntWordConv.schckFromWord32ToInt16
1376 val schckToInt32 = IntWordConv.schckFromWord32ToInt32
1377 val schckToInt64 = IntWordConv.schckFromWord32ToInt64
1378 val schckToWord8 = IntWordConv.schckFromWord32ToWord8
1379 val schckToWord16 = IntWordConv.schckFromWord32ToWord16
1380 val schckToWord32 = IntWordConv.schckFromWord32ToWord32
1381 val schckToWord64 = IntWordConv.schckFromWord32ToWord64
1382 end
1383
1384 structure Word64 : PRIM_WORD =
1385 struct
1386 open Word64
1387
1388 val zextdFromInt8 = IntWordConv.zextdFromInt8ToWord64
1389 val zextdFromInt16 = IntWordConv.zextdFromInt16ToWord64
1390 val zextdFromInt32 = IntWordConv.zextdFromInt32ToWord64
1391 val zextdFromInt64 = IntWordConv.zextdFromInt64ToWord64
1392 val zextdFromWord8 = IntWordConv.zextdFromWord8ToWord64
1393 val zextdFromWord16 = IntWordConv.zextdFromWord16ToWord64
1394 val zextdFromWord32 = IntWordConv.zextdFromWord32ToWord64
1395 val zextdFromWord64 = IntWordConv.zextdFromWord64ToWord64
1396 val zextdToInt8 = IntWordConv.zextdFromWord64ToInt8
1397 val zextdToInt16 = IntWordConv.zextdFromWord64ToInt16
1398 val zextdToInt32 = IntWordConv.zextdFromWord64ToInt32
1399 val zextdToInt64 = IntWordConv.zextdFromWord64ToInt64
1400 val zextdToWord8 = IntWordConv.zextdFromWord64ToWord8
1401 val zextdToWord16 = IntWordConv.zextdFromWord64ToWord16
1402 val zextdToWord32 = IntWordConv.zextdFromWord64ToWord32
1403 val zextdToWord64 = IntWordConv.zextdFromWord64ToWord64
1404
1405 val sextdFromInt8 = IntWordConv.sextdFromInt8ToWord64
1406 val sextdFromInt16 = IntWordConv.sextdFromInt16ToWord64
1407 val sextdFromInt32 = IntWordConv.sextdFromInt32ToWord64
1408 val sextdFromInt64 = IntWordConv.sextdFromInt64ToWord64
1409 val sextdFromWord8 = IntWordConv.sextdFromWord8ToWord64
1410 val sextdFromWord16 = IntWordConv.sextdFromWord16ToWord64
1411 val sextdFromWord32 = IntWordConv.sextdFromWord32ToWord64
1412 val sextdFromWord64 = IntWordConv.sextdFromWord64ToWord64
1413 val sextdToInt8 = IntWordConv.sextdFromWord64ToInt8
1414 val sextdToInt16 = IntWordConv.sextdFromWord64ToInt16
1415 val sextdToInt32 = IntWordConv.sextdFromWord64ToInt32
1416 val sextdToInt64 = IntWordConv.sextdFromWord64ToInt64
1417 val sextdToWord8 = IntWordConv.sextdFromWord64ToWord8
1418 val sextdToWord16 = IntWordConv.sextdFromWord64ToWord16
1419 val sextdToWord32 = IntWordConv.sextdFromWord64ToWord32
1420 val sextdToWord64 = IntWordConv.sextdFromWord64ToWord64
1421
1422 val castFromInt8 = IntWordConv.castFromInt8ToWord64
1423 val castFromInt16 = IntWordConv.castFromInt16ToWord64
1424 val castFromInt32 = IntWordConv.castFromInt32ToWord64
1425 val castFromInt64 = IntWordConv.castFromInt64ToWord64
1426 val castFromWord8 = IntWordConv.castFromWord8ToWord64
1427 val castFromWord16 = IntWordConv.castFromWord16ToWord64
1428 val castFromWord32 = IntWordConv.castFromWord32ToWord64
1429 val castFromWord64 = IntWordConv.castFromWord64ToWord64
1430 val castToInt8 = IntWordConv.castFromWord64ToInt8
1431 val castToInt16 = IntWordConv.castFromWord64ToInt16
1432 val castToInt32 = IntWordConv.castFromWord64ToInt32
1433 val castToInt64 = IntWordConv.castFromWord64ToInt64
1434 val castToWord8 = IntWordConv.castFromWord64ToWord8
1435 val castToWord16 = IntWordConv.castFromWord64ToWord16
1436 val castToWord32 = IntWordConv.castFromWord64ToWord32
1437 val castToWord64 = IntWordConv.castFromWord64ToWord64
1438
1439 val zchckFromInt8 = IntWordConv.zchckFromInt8ToWord64
1440 val zchckFromInt16 = IntWordConv.zchckFromInt16ToWord64
1441 val zchckFromInt32 = IntWordConv.zchckFromInt32ToWord64
1442 val zchckFromInt64 = IntWordConv.zchckFromInt64ToWord64
1443 val zchckFromWord8 = IntWordConv.zchckFromWord8ToWord64
1444 val zchckFromWord16 = IntWordConv.zchckFromWord16ToWord64
1445 val zchckFromWord32 = IntWordConv.zchckFromWord32ToWord64
1446 val zchckFromWord64 = IntWordConv.zchckFromWord64ToWord64
1447 val zchckToInt8 = IntWordConv.zchckFromWord64ToInt8
1448 val zchckToInt16 = IntWordConv.zchckFromWord64ToInt16
1449 val zchckToInt32 = IntWordConv.zchckFromWord64ToInt32
1450 val zchckToInt64 = IntWordConv.zchckFromWord64ToInt64
1451 val zchckToWord8 = IntWordConv.zchckFromWord64ToWord8
1452 val zchckToWord16 = IntWordConv.zchckFromWord64ToWord16
1453 val zchckToWord32 = IntWordConv.zchckFromWord64ToWord32
1454 val zchckToWord64 = IntWordConv.zchckFromWord64ToWord64
1455
1456 val schckFromInt8 = IntWordConv.schckFromInt8ToWord64
1457 val schckFromInt16 = IntWordConv.schckFromInt16ToWord64
1458 val schckFromInt32 = IntWordConv.schckFromInt32ToWord64
1459 val schckFromInt64 = IntWordConv.schckFromInt64ToWord64
1460 val schckFromWord8 = IntWordConv.schckFromWord8ToWord64
1461 val schckFromWord16 = IntWordConv.schckFromWord16ToWord64
1462 val schckFromWord32 = IntWordConv.schckFromWord32ToWord64
1463 val schckFromWord64 = IntWordConv.schckFromWord64ToWord64
1464 val schckToInt8 = IntWordConv.schckFromWord64ToInt8
1465 val schckToInt16 = IntWordConv.schckFromWord64ToInt16
1466 val schckToInt32 = IntWordConv.schckFromWord64ToInt32
1467 val schckToInt64 = IntWordConv.schckFromWord64ToInt64
1468 val schckToWord8 = IntWordConv.schckFromWord64ToWord8
1469 val schckToWord16 = IntWordConv.schckFromWord64ToWord16
1470 val schckToWord32 = IntWordConv.schckFromWord64ToWord32
1471 val schckToWord64 = IntWordConv.schckFromWord64ToWord64
1472 end
1473
1474 end