1 (* Copyright (C
) 1999-2007 Henry Cejtin
, Matthew Fluet
, Suresh
2 * Jagannathan
, and Stephen Weeks
.
3 * Copyright (C
) 1997-2000 NEC Research Institute
.
5 * MLton is released under a BSD
-style license
.
6 * See the file MLton
-LICENSE for details
.
9 (* Primitive names are special
-- see atoms
/prim
.fun. *)
11 structure Primitive
= struct
17 type word = Word8.word
20 _prim
"Word8Array_subWord8": Word8.word array
* SeqIndex
.int -> word;
22 _prim
"Word8Vector_subWord8": Word8.word vector
* SeqIndex
.int -> word;
24 _prim
"Word8Array_updateWord8": Word8.word array
* SeqIndex
.int * word -> unit
;
27 structure PackWord16
=
29 type word = Word16
.word
32 _prim
"Word8Array_subWord16": Word8.word array
* SeqIndex
.int -> word;
34 _prim
"Word8Vector_subWord16": Word8.word vector
* SeqIndex
.int -> word;
36 _prim
"Word8Array_updateWord16": Word8.word array
* SeqIndex
.int * word -> unit
;
39 structure PackWord32
=
41 type word = Word32
.word
44 _prim
"Word8Array_subWord32": Word8.word array
* SeqIndex
.int -> word;
46 _prim
"Word8Vector_subWord32": Word8.word vector
* SeqIndex
.int -> word;
48 _prim
"Word8Array_updateWord32": Word8.word array
* SeqIndex
.int * word -> unit
;
51 structure PackWord64
=
53 type word = Word64
.word
56 _prim
"Word8Array_subWord64": Word8.word array
* SeqIndex
.int -> word;
58 _prim
"Word8Vector_subWord64": Word8.word vector
* SeqIndex
.int -> word;
60 _prim
"Word8Array_updateWord64": Word8.word array
* SeqIndex
.int * word -> unit
;