1 (* Copyright (C
) 1999-2006 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
.
13 val zextdFromInt8
: Primitive
.Int8
.int -> num
14 val zextdFromInt16
: Primitive
.Int16
.int -> num
15 val zextdFromInt32
: Primitive
.Int32
.int -> num
16 val zextdFromInt64
: Primitive
.Int64
.int -> num
17 val zextdFromIntInf
: Primitive
.IntInf
.int -> num
18 val zextdFromWord8
: Primitive
.Word8.word -> num
19 val zextdFromWord16
: Primitive
.Word16
.word -> num
20 val zextdFromWord32
: Primitive
.Word32
.word -> num
21 val zextdFromWord64
: Primitive
.Word64
.word -> num
22 val zextdToInt8
: num
-> Primitive
.Int8
.int
23 val zextdToInt16
: num
-> Primitive
.Int16
.int
24 val zextdToInt32
: num
-> Primitive
.Int32
.int
25 val zextdToInt64
: num
-> Primitive
.Int64
.int
26 val zextdToIntInf
: num
-> Primitive
.IntInf
.int
27 val zextdToWord8
: num
-> Primitive
.Word8.word
28 val zextdToWord16
: num
-> Primitive
.Word16
.word
29 val zextdToWord32
: num
-> Primitive
.Word32
.word
30 val zextdToWord64
: num
-> Primitive
.Word64
.word
32 val sextdFromInt8
: Primitive
.Int8
.int -> num
33 val sextdFromInt16
: Primitive
.Int16
.int -> num
34 val sextdFromInt32
: Primitive
.Int32
.int -> num
35 val sextdFromInt64
: Primitive
.Int64
.int -> num
36 val sextdFromIntInf
: Primitive
.IntInf
.int -> num
37 val sextdFromWord8
: Primitive
.Word8.word -> num
38 val sextdFromWord16
: Primitive
.Word16
.word -> num
39 val sextdFromWord32
: Primitive
.Word32
.word -> num
40 val sextdFromWord64
: Primitive
.Word64
.word -> num
41 val sextdToInt8
: num
-> Primitive
.Int8
.int
42 val sextdToInt16
: num
-> Primitive
.Int16
.int
43 val sextdToInt32
: num
-> Primitive
.Int32
.int
44 val sextdToInt64
: num
-> Primitive
.Int64
.int
45 val sextdToIntInf
: num
-> Primitive
.IntInf
.int
46 val sextdToWord8
: num
-> Primitive
.Word8.word
47 val sextdToWord16
: num
-> Primitive
.Word16
.word
48 val sextdToWord32
: num
-> Primitive
.Word32
.word
49 val sextdToWord64
: num
-> Primitive
.Word64
.word
51 val castFromInt8
: Primitive
.Int8
.int -> num
52 val castFromInt16
: Primitive
.Int16
.int -> num
53 val castFromInt32
: Primitive
.Int32
.int -> num
54 val castFromInt64
: Primitive
.Int64
.int -> num
55 val castFromIntInf
: Primitive
.IntInf
.int -> num
56 val castFromWord8
: Primitive
.Word8.word -> num
57 val castFromWord16
: Primitive
.Word16
.word -> num
58 val castFromWord32
: Primitive
.Word32
.word -> num
59 val castFromWord64
: Primitive
.Word64
.word -> num
60 val castToInt8
: num
-> Primitive
.Int8
.int
61 val castToInt16
: num
-> Primitive
.Int16
.int
62 val castToInt32
: num
-> Primitive
.Int32
.int
63 val castToInt64
: num
-> Primitive
.Int64
.int
64 val castToIntInf
: num
-> Primitive
.IntInf
.int
65 val castToWord8
: num
-> Primitive
.Word8.word
66 val castToWord16
: num
-> Primitive
.Word16
.word
67 val castToWord32
: num
-> Primitive
.Word32
.word
68 val castToWord64
: num
-> Primitive
.Word64
.word
70 val zchckFromInt8
: Primitive
.Int8
.int -> num
71 val zchckFromInt16
: Primitive
.Int16
.int -> num
72 val zchckFromInt32
: Primitive
.Int32
.int -> num
73 val zchckFromInt64
: Primitive
.Int64
.int -> num
74 val zchckFromIntInf
: Primitive
.IntInf
.int -> num
75 val zchckFromWord8
: Primitive
.Word8.word -> num
76 val zchckFromWord16
: Primitive
.Word16
.word -> num
77 val zchckFromWord32
: Primitive
.Word32
.word -> num
78 val zchckFromWord64
: Primitive
.Word64
.word -> num
79 val zchckToInt8
: num
-> Primitive
.Int8
.int
80 val zchckToInt16
: num
-> Primitive
.Int16
.int
81 val zchckToInt32
: num
-> Primitive
.Int32
.int
82 val zchckToInt64
: num
-> Primitive
.Int64
.int
83 val zchckToIntInf
: num
-> Primitive
.IntInf
.int
84 val zchckToWord8
: num
-> Primitive
.Word8.word
85 val zchckToWord16
: num
-> Primitive
.Word16
.word
86 val zchckToWord32
: num
-> Primitive
.Word32
.word
87 val zchckToWord64
: num
-> Primitive
.Word64
.word
89 val schckFromInt8
: Primitive
.Int8
.int -> num
90 val schckFromInt16
: Primitive
.Int16
.int -> num
91 val schckFromInt32
: Primitive
.Int32
.int -> num
92 val schckFromInt64
: Primitive
.Int64
.int -> num
93 val schckFromIntInf
: Primitive
.IntInf
.int -> num
94 val schckFromWord8
: Primitive
.Word8.word -> num
95 val schckFromWord16
: Primitive
.Word16
.word -> num
96 val schckFromWord32
: Primitive
.Word32
.word -> num
97 val schckFromWord64
: Primitive
.Word64
.word -> num
98 val schckToInt8
: num
-> Primitive
.Int8
.int
99 val schckToInt16
: num
-> Primitive
.Int16
.int
100 val schckToInt32
: num
-> Primitive
.Int32
.int
101 val schckToInt64
: num
-> Primitive
.Int64
.int
102 val schckToIntInf
: num
-> Primitive
.IntInf
.int
103 val schckToWord8
: num
-> Primitive
.Word8.word
104 val schckToWord16
: num
-> Primitive
.Word16
.word
105 val schckToWord32
: num
-> Primitive
.Word32
.word
106 val schckToWord64
: num
-> Primitive
.Word64
.word
108 signature MKNUM1_RES
=
112 val zextdFromInt
: Int.int -> num
113 val zextdToInt
: num
-> Int.int
114 val sextdFromInt
: Int.int -> num
115 val sextdToInt
: num
-> Int.int
116 val castFromInt
: Int.int -> num
117 val castToInt
: num
-> Int.int
118 val zchckFromInt
: Int.int -> num
119 val zchckToInt
: num
-> Int.int
120 val schckFromInt
: Int.int -> num
121 val schckToInt
: num
-> Int.int
123 val zextdFromFixedInt
: FixedInt
.int -> num
124 val zextdToFixedInt
: num
-> FixedInt
.int
125 val sextdFromFixedInt
: FixedInt
.int -> num
126 val sextdToFixedInt
: num
-> FixedInt
.int
127 val castFromFixedInt
: FixedInt
.int -> num
128 val castToFixedInt
: num
-> FixedInt
.int
129 val zchckFromFixedInt
: FixedInt
.int -> num
130 val zchckToFixedInt
: num
-> FixedInt
.int
131 val schckFromFixedInt
: FixedInt
.int -> num
132 val schckToFixedInt
: num
-> FixedInt
.int
134 val zextdFromLargeInt
: LargeInt
.int -> num
135 val zextdToLargeInt
: num
-> LargeInt
.int
136 val sextdFromLargeInt
: LargeInt
.int -> num
137 val sextdToLargeInt
: num
-> LargeInt
.int
138 val castFromLargeInt
: LargeInt
.int -> num
139 val castToLargeInt
: num
-> LargeInt
.int
140 val zchckFromLargeInt
: LargeInt
.int -> num
141 val zchckToLargeInt
: num
-> LargeInt
.int
142 val schckFromLargeInt
: LargeInt
.int -> num
143 val schckToLargeInt
: num
-> LargeInt
.int
145 val zextdFromWord
: Word.word -> num
146 val zextdToWord
: num
-> Word.word
147 val sextdFromWord
: Word.word -> num
148 val sextdToWord
: num
-> Word.word
149 val castFromWord
: Word.word -> num
150 val castToWord
: num
-> Word.word
151 val zchckFromWord
: Word.word -> num
152 val zchckToWord
: num
-> Word.word
153 val schckFromWord
: Word.word -> num
154 val schckToWord
: num
-> Word.word
156 val zextdFromLargeWord
: LargeWord
.word -> num
157 val zextdToLargeWord
: num
-> LargeWord
.word
158 val sextdFromLargeWord
: LargeWord
.word -> num
159 val sextdToLargeWord
: num
-> LargeWord
.word
160 val castFromLargeWord
: LargeWord
.word -> num
161 val castToLargeWord
: num
-> LargeWord
.word
162 val zchckFromLargeWord
: LargeWord
.word -> num
163 val zchckToLargeWord
: num
-> LargeWord
.word
164 val schckFromLargeWord
: LargeWord
.word -> num
165 val schckToLargeWord
: num
-> LargeWord
.word
167 val zextdFromSysWord
: SysWord
.word -> num
168 val zextdToSysWord
: num
-> SysWord
.word
169 val sextdFromSysWord
: SysWord
.word -> num
170 val sextdToSysWord
: num
-> SysWord
.word
171 val castFromSysWord
: SysWord
.word -> num
172 val castToSysWord
: num
-> SysWord
.word
173 val zchckFromSysWord
: SysWord
.word -> num
174 val zchckToSysWord
: num
-> SysWord
.word
175 val schckFromSysWord
: SysWord
.word -> num
176 val schckToSysWord
: num
-> SysWord
.word
178 signature PRIM_INTEGER
=
181 include MKNUM1_RES
where type num
= int
183 signature PRIM_WORD
=
186 include MKNUM1_RES
where type num
= word
189 functor MkNum1 (I
: MKNUM1_ARG
) : MKNUM1_RES
=
196 (type 'a t
= 'a
-> num
197 val fInt8
= I
.zextdFromInt8
198 val fInt16
= I
.zextdFromInt16
199 val fInt32
= I
.zextdFromInt32
200 val fInt64
= I
.zextdFromInt64
201 val fIntInf
= I
.zextdFromIntInf
)
203 val zextdFromInt
= S
.f
208 (type 'a t
= num
-> 'a
209 val fInt8
= I
.zextdToInt8
210 val fInt16
= I
.zextdToInt16
211 val fInt32
= I
.zextdToInt32
212 val fInt64
= I
.zextdToInt64
213 val fIntInf
= I
.zextdToIntInf
)
220 (type 'a t
= 'a
-> num
221 val fInt8
= I
.sextdFromInt8
222 val fInt16
= I
.sextdFromInt16
223 val fInt32
= I
.sextdFromInt32
224 val fInt64
= I
.sextdFromInt64
225 val fIntInf
= I
.sextdFromIntInf
)
227 val sextdFromInt
= S
.f
232 (type 'a t
= num
-> 'a
233 val fInt8
= I
.sextdToInt8
234 val fInt16
= I
.sextdToInt16
235 val fInt32
= I
.sextdToInt32
236 val fInt64
= I
.sextdToInt64
237 val fIntInf
= I
.sextdToIntInf
)
244 (type 'a t
= 'a
-> num
245 val fInt8
= I
.castFromInt8
246 val fInt16
= I
.castFromInt16
247 val fInt32
= I
.castFromInt32
248 val fInt64
= I
.castFromInt64
249 val fIntInf
= I
.castFromIntInf
)
251 val castFromInt
= S
.f
256 (type 'a t
= num
-> 'a
257 val fInt8
= I
.castToInt8
258 val fInt16
= I
.castToInt16
259 val fInt32
= I
.castToInt32
260 val fInt64
= I
.castToInt64
261 val fIntInf
= I
.castToIntInf
)
268 (type 'a t
= 'a
-> num
269 val fInt8
= I
.zchckFromInt8
270 val fInt16
= I
.zchckFromInt16
271 val fInt32
= I
.zchckFromInt32
272 val fInt64
= I
.zchckFromInt64
273 val fIntInf
= I
.zchckFromIntInf
)
275 val zchckFromInt
= S
.f
280 (type 'a t
= num
-> 'a
281 val fInt8
= I
.zchckToInt8
282 val fInt16
= I
.zchckToInt16
283 val fInt32
= I
.zchckToInt32
284 val fInt64
= I
.zchckToInt64
285 val fIntInf
= I
.zchckToIntInf
)
292 (type 'a t
= 'a
-> num
293 val fInt8
= I
.schckFromInt8
294 val fInt16
= I
.schckFromInt16
295 val fInt32
= I
.schckFromInt32
296 val fInt64
= I
.schckFromInt64
297 val fIntInf
= I
.schckFromIntInf
)
299 val schckFromInt
= S
.f
304 (type 'a t
= num
-> 'a
305 val fInt8
= I
.schckToInt8
306 val fInt16
= I
.schckToInt16
307 val fInt32
= I
.schckToInt32
308 val fInt64
= I
.schckToInt64
309 val fIntInf
= I
.schckToIntInf
)
318 (type 'a t
= 'a
-> num
319 val fInt8
= I
.zextdFromInt8
320 val fInt16
= I
.zextdFromInt16
321 val fInt32
= I
.zextdFromInt32
322 val fInt64
= I
.zextdFromInt64
)
324 val zextdFromFixedInt
= S
.f
329 (type 'a t
= num
-> 'a
330 val fInt8
= I
.zextdToInt8
331 val fInt16
= I
.zextdToInt16
332 val fInt32
= I
.zextdToInt32
333 val fInt64
= I
.zextdToInt64
)
335 val zextdToFixedInt
= S
.f
340 (type 'a t
= 'a
-> num
341 val fInt8
= I
.sextdFromInt8
342 val fInt16
= I
.sextdFromInt16
343 val fInt32
= I
.sextdFromInt32
344 val fInt64
= I
.sextdFromInt64
)
346 val sextdFromFixedInt
= S
.f
351 (type 'a t
= num
-> 'a
352 val fInt8
= I
.sextdToInt8
353 val fInt16
= I
.sextdToInt16
354 val fInt32
= I
.sextdToInt32
355 val fInt64
= I
.sextdToInt64
)
357 val sextdToFixedInt
= S
.f
362 (type 'a t
= 'a
-> num
363 val fInt8
= I
.castFromInt8
364 val fInt16
= I
.castFromInt16
365 val fInt32
= I
.castFromInt32
366 val fInt64
= I
.castFromInt64
)
368 val castFromFixedInt
= S
.f
373 (type 'a t
= num
-> 'a
374 val fInt8
= I
.castToInt8
375 val fInt16
= I
.castToInt16
376 val fInt32
= I
.castToInt32
377 val fInt64
= I
.castToInt64
)
379 val castToFixedInt
= S
.f
384 (type 'a t
= 'a
-> num
385 val fInt8
= I
.zchckFromInt8
386 val fInt16
= I
.zchckFromInt16
387 val fInt32
= I
.zchckFromInt32
388 val fInt64
= I
.zchckFromInt64
)
390 val zchckFromFixedInt
= S
.f
395 (type 'a t
= num
-> 'a
396 val fInt8
= I
.zchckToInt8
397 val fInt16
= I
.zchckToInt16
398 val fInt32
= I
.zchckToInt32
399 val fInt64
= I
.zchckToInt64
)
401 val zchckToFixedInt
= S
.f
406 (type 'a t
= 'a
-> num
407 val fInt8
= I
.schckFromInt8
408 val fInt16
= I
.schckFromInt16
409 val fInt32
= I
.schckFromInt32
410 val fInt64
= I
.schckFromInt64
)
412 val schckFromFixedInt
= S
.f
417 (type 'a t
= num
-> 'a
418 val fInt8
= I
.schckToInt8
419 val fInt16
= I
.schckToInt16
420 val fInt32
= I
.schckToInt32
421 val fInt64
= I
.schckToInt64
)
423 val schckToFixedInt
= S
.f
430 (type 'a t
= 'a
-> num
431 val fInt8
= I
.zextdFromInt8
432 val fInt16
= I
.zextdFromInt16
433 val fInt32
= I
.zextdFromInt32
434 val fInt64
= I
.zextdFromInt64
435 val fIntInf
= I
.zextdFromIntInf
)
437 val zextdFromLargeInt
= S
.f
442 (type 'a t
= num
-> 'a
443 val fInt8
= I
.zextdToInt8
444 val fInt16
= I
.zextdToInt16
445 val fInt32
= I
.zextdToInt32
446 val fInt64
= I
.zextdToInt64
447 val fIntInf
= I
.zextdToIntInf
)
449 val zextdToLargeInt
= S
.f
454 (type 'a t
= 'a
-> num
455 val fInt8
= I
.sextdFromInt8
456 val fInt16
= I
.sextdFromInt16
457 val fInt32
= I
.sextdFromInt32
458 val fInt64
= I
.sextdFromInt64
459 val fIntInf
= I
.sextdFromIntInf
)
461 val sextdFromLargeInt
= S
.f
466 (type 'a t
= num
-> 'a
467 val fInt8
= I
.sextdToInt8
468 val fInt16
= I
.sextdToInt16
469 val fInt32
= I
.sextdToInt32
470 val fInt64
= I
.sextdToInt64
471 val fIntInf
= I
.sextdToIntInf
)
473 val sextdToLargeInt
= S
.f
478 (type 'a t
= 'a
-> num
479 val fInt8
= I
.castFromInt8
480 val fInt16
= I
.castFromInt16
481 val fInt32
= I
.castFromInt32
482 val fInt64
= I
.castFromInt64
483 val fIntInf
= I
.castFromIntInf
)
485 val castFromLargeInt
= S
.f
490 (type 'a t
= num
-> 'a
491 val fInt8
= I
.castToInt8
492 val fInt16
= I
.castToInt16
493 val fInt32
= I
.castToInt32
494 val fInt64
= I
.castToInt64
495 val fIntInf
= I
.castToIntInf
)
497 val castToLargeInt
= S
.f
502 (type 'a t
= 'a
-> num
503 val fInt8
= I
.zchckFromInt8
504 val fInt16
= I
.zchckFromInt16
505 val fInt32
= I
.zchckFromInt32
506 val fInt64
= I
.zchckFromInt64
507 val fIntInf
= I
.zchckFromIntInf
)
509 val zchckFromLargeInt
= S
.f
514 (type 'a t
= num
-> 'a
515 val fInt8
= I
.zchckToInt8
516 val fInt16
= I
.zchckToInt16
517 val fInt32
= I
.zchckToInt32
518 val fInt64
= I
.zchckToInt64
519 val fIntInf
= I
.zchckToIntInf
)
521 val zchckToLargeInt
= S
.f
526 (type 'a t
= 'a
-> num
527 val fInt8
= I
.schckFromInt8
528 val fInt16
= I
.schckFromInt16
529 val fInt32
= I
.schckFromInt32
530 val fInt64
= I
.schckFromInt64
531 val fIntInf
= I
.schckFromIntInf
)
533 val schckFromLargeInt
= S
.f
538 (type 'a t
= num
-> 'a
539 val fInt8
= I
.schckToInt8
540 val fInt16
= I
.schckToInt16
541 val fInt32
= I
.schckToInt32
542 val fInt64
= I
.schckToInt64
543 val fIntInf
= I
.schckToIntInf
)
545 val schckToLargeInt
= S
.f
552 (type 'a t
= 'a
-> num
553 val fWord8
= I
.zextdFromWord8
554 val fWord16
= I
.zextdFromWord16
555 val fWord32
= I
.zextdFromWord32
556 val fWord64
= I
.zextdFromWord64
)
558 val zextdFromWord
= S
.f
563 (type 'a t
= num
-> 'a
564 val fWord8
= I
.zextdToWord8
565 val fWord16
= I
.zextdToWord16
566 val fWord32
= I
.zextdToWord32
567 val fWord64
= I
.zextdToWord64
)
569 val zextdToWord
= S
.f
574 (type 'a t
= 'a
-> num
575 val fWord8
= I
.sextdFromWord8
576 val fWord16
= I
.sextdFromWord16
577 val fWord32
= I
.sextdFromWord32
578 val fWord64
= I
.sextdFromWord64
)
580 val sextdFromWord
= S
.f
585 (type 'a t
= num
-> 'a
586 val fWord8
= I
.sextdToWord8
587 val fWord16
= I
.sextdToWord16
588 val fWord32
= I
.sextdToWord32
589 val fWord64
= I
.sextdToWord64
)
591 val sextdToWord
= S
.f
596 (type 'a t
= 'a
-> num
597 val fWord8
= I
.castFromWord8
598 val fWord16
= I
.castFromWord16
599 val fWord32
= I
.castFromWord32
600 val fWord64
= I
.castFromWord64
)
602 val castFromWord
= S
.f
607 (type 'a t
= num
-> 'a
608 val fWord8
= I
.castToWord8
609 val fWord16
= I
.castToWord16
610 val fWord32
= I
.castToWord32
611 val fWord64
= I
.castToWord64
)
618 (type 'a t
= 'a
-> num
619 val fWord8
= I
.zchckFromWord8
620 val fWord16
= I
.zchckFromWord16
621 val fWord32
= I
.zchckFromWord32
622 val fWord64
= I
.zchckFromWord64
)
624 val zchckFromWord
= S
.f
629 (type 'a t
= num
-> 'a
630 val fWord8
= I
.zchckToWord8
631 val fWord16
= I
.zchckToWord16
632 val fWord32
= I
.zchckToWord32
633 val fWord64
= I
.zchckToWord64
)
635 val zchckToWord
= S
.f
640 (type 'a t
= 'a
-> num
641 val fWord8
= I
.schckFromWord8
642 val fWord16
= I
.schckFromWord16
643 val fWord32
= I
.schckFromWord32
644 val fWord64
= I
.schckFromWord64
)
646 val schckFromWord
= S
.f
651 (type 'a t
= num
-> 'a
652 val fWord8
= I
.schckToWord8
653 val fWord16
= I
.schckToWord16
654 val fWord32
= I
.schckToWord32
655 val fWord64
= I
.schckToWord64
)
657 val schckToWord
= S
.f
663 LargeWord_ChooseWordN
664 (type 'a t
= 'a
-> num
665 val fWord8
= I
.zextdFromWord8
666 val fWord16
= I
.zextdFromWord16
667 val fWord32
= I
.zextdFromWord32
668 val fWord64
= I
.zextdFromWord64
)
670 val zextdFromLargeWord
= S
.f
674 LargeWord_ChooseWordN
675 (type 'a t
= num
-> 'a
676 val fWord8
= I
.zextdToWord8
677 val fWord16
= I
.zextdToWord16
678 val fWord32
= I
.zextdToWord32
679 val fWord64
= I
.zextdToWord64
)
681 val zextdToLargeWord
= S
.f
685 LargeWord_ChooseWordN
686 (type 'a t
= 'a
-> num
687 val fWord8
= I
.sextdFromWord8
688 val fWord16
= I
.sextdFromWord16
689 val fWord32
= I
.sextdFromWord32
690 val fWord64
= I
.sextdFromWord64
)
692 val sextdFromLargeWord
= S
.f
696 LargeWord_ChooseWordN
697 (type 'a t
= num
-> 'a
698 val fWord8
= I
.sextdToWord8
699 val fWord16
= I
.sextdToWord16
700 val fWord32
= I
.sextdToWord32
701 val fWord64
= I
.sextdToWord64
)
703 val sextdToLargeWord
= S
.f
707 LargeWord_ChooseWordN
708 (type 'a t
= 'a
-> num
709 val fWord8
= I
.castFromWord8
710 val fWord16
= I
.castFromWord16
711 val fWord32
= I
.castFromWord32
712 val fWord64
= I
.castFromWord64
)
714 val castFromLargeWord
= S
.f
718 LargeWord_ChooseWordN
719 (type 'a t
= num
-> 'a
720 val fWord8
= I
.castToWord8
721 val fWord16
= I
.castToWord16
722 val fWord32
= I
.castToWord32
723 val fWord64
= I
.castToWord64
)
725 val castToLargeWord
= S
.f
729 LargeWord_ChooseWordN
730 (type 'a t
= 'a
-> num
731 val fWord8
= I
.zchckFromWord8
732 val fWord16
= I
.zchckFromWord16
733 val fWord32
= I
.zchckFromWord32
734 val fWord64
= I
.zchckFromWord64
)
736 val zchckFromLargeWord
= S
.f
740 LargeWord_ChooseWordN
741 (type 'a t
= num
-> 'a
742 val fWord8
= I
.zchckToWord8
743 val fWord16
= I
.zchckToWord16
744 val fWord32
= I
.zchckToWord32
745 val fWord64
= I
.zchckToWord64
)
747 val zchckToLargeWord
= S
.f
751 LargeWord_ChooseWordN
752 (type 'a t
= 'a
-> num
753 val fWord8
= I
.schckFromWord8
754 val fWord16
= I
.schckFromWord16
755 val fWord32
= I
.schckFromWord32
756 val fWord64
= I
.schckFromWord64
)
758 val schckFromLargeWord
= S
.f
762 LargeWord_ChooseWordN
763 (type 'a t
= num
-> 'a
764 val fWord8
= I
.schckToWord8
765 val fWord16
= I
.schckToWord16
766 val fWord32
= I
.schckToWord32
767 val fWord64
= I
.schckToWord64
)
769 val schckToLargeWord
= S
.f
776 (type 'a t
= 'a
-> num
777 val fWord8
= I
.zextdFromWord8
778 val fWord16
= I
.zextdFromWord16
779 val fWord32
= I
.zextdFromWord32
780 val fWord64
= I
.zextdFromWord64
)
782 val zextdFromSysWord
= S
.f
787 (type 'a t
= num
-> 'a
788 val fWord8
= I
.zextdToWord8
789 val fWord16
= I
.zextdToWord16
790 val fWord32
= I
.zextdToWord32
791 val fWord64
= I
.zextdToWord64
)
793 val zextdToSysWord
= S
.f
798 (type 'a t
= 'a
-> num
799 val fWord8
= I
.sextdFromWord8
800 val fWord16
= I
.sextdFromWord16
801 val fWord32
= I
.sextdFromWord32
802 val fWord64
= I
.sextdFromWord64
)
804 val sextdFromSysWord
= S
.f
809 (type 'a t
= num
-> 'a
810 val fWord8
= I
.sextdToWord8
811 val fWord16
= I
.sextdToWord16
812 val fWord32
= I
.sextdToWord32
813 val fWord64
= I
.sextdToWord64
)
815 val sextdToSysWord
= S
.f
820 (type 'a t
= 'a
-> num
821 val fWord8
= I
.castFromWord8
822 val fWord16
= I
.castFromWord16
823 val fWord32
= I
.castFromWord32
824 val fWord64
= I
.castFromWord64
)
826 val castFromSysWord
= S
.f
831 (type 'a t
= num
-> 'a
832 val fWord8
= I
.castToWord8
833 val fWord16
= I
.castToWord16
834 val fWord32
= I
.castToWord32
835 val fWord64
= I
.castToWord64
)
837 val castToSysWord
= S
.f
842 (type 'a t
= 'a
-> num
843 val fWord8
= I
.zchckFromWord8
844 val fWord16
= I
.zchckFromWord16
845 val fWord32
= I
.zchckFromWord32
846 val fWord64
= I
.zchckFromWord64
)
848 val zchckFromSysWord
= S
.f
853 (type 'a t
= num
-> 'a
854 val fWord8
= I
.zchckToWord8
855 val fWord16
= I
.zchckToWord16
856 val fWord32
= I
.zchckToWord32
857 val fWord64
= I
.zchckToWord64
)
859 val zchckToSysWord
= S
.f
864 (type 'a t
= 'a
-> num
865 val fWord8
= I
.schckFromWord8
866 val fWord16
= I
.schckFromWord16
867 val fWord32
= I
.schckFromWord32
868 val fWord64
= I
.schckFromWord64
)
870 val schckFromSysWord
= S
.f
875 (type 'a t
= num
-> 'a
876 val fWord8
= I
.schckToWord8
877 val fWord16
= I
.schckToWord16
878 val fWord32
= I
.schckToWord32
879 val fWord64
= I
.schckToWord64
)
881 val schckToSysWord
= S
.f
885 structure Primitive
=
893 structure S
= MkNum1(struct
905 structure S
= MkNum1(struct
917 structure S
= MkNum1(struct
929 structure S
= MkNum1(struct
941 structure S
= MkNum1(struct
954 structure S
= MkNum1(struct
966 structure S
= MkNum1(struct
978 structure S
= MkNum1(struct
986 structure Word64
: PRIM_WORD
=
990 structure S
= MkNum1(struct