Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | (* Copyright (C) 1999-2007 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 | (* Primitive names are special -- see atoms/prim.fun. *) | |
10 | ||
11 | structure Primitive = struct | |
12 | ||
13 | open Primitive | |
14 | ||
15 | structure PackWord8 = | |
16 | struct | |
17 | type word = Word8.word | |
18 | ||
19 | val subArr = | |
20 | _prim "Word8Array_subWord8": Word8.word array * SeqIndex.int -> word; | |
21 | val subVec = | |
22 | _prim "Word8Vector_subWord8": Word8.word vector * SeqIndex.int -> word; | |
23 | val update = | |
24 | _prim "Word8Array_updateWord8": Word8.word array * SeqIndex.int * word -> unit; | |
25 | end | |
26 | ||
27 | structure PackWord16 = | |
28 | struct | |
29 | type word = Word16.word | |
30 | ||
31 | val subArr = | |
32 | _prim "Word8Array_subWord16": Word8.word array * SeqIndex.int -> word; | |
33 | val subVec = | |
34 | _prim "Word8Vector_subWord16": Word8.word vector * SeqIndex.int -> word; | |
35 | val update = | |
36 | _prim "Word8Array_updateWord16": Word8.word array * SeqIndex.int * word -> unit; | |
37 | end | |
38 | ||
39 | structure PackWord32 = | |
40 | struct | |
41 | type word = Word32.word | |
42 | ||
43 | val subArr = | |
44 | _prim "Word8Array_subWord32": Word8.word array * SeqIndex.int -> word; | |
45 | val subVec = | |
46 | _prim "Word8Vector_subWord32": Word8.word vector * SeqIndex.int -> word; | |
47 | val update = | |
48 | _prim "Word8Array_updateWord32": Word8.word array * SeqIndex.int * word -> unit; | |
49 | end | |
50 | ||
51 | structure PackWord64 = | |
52 | struct | |
53 | type word = Word64.word | |
54 | ||
55 | val subArr = | |
56 | _prim "Word8Array_subWord64": Word8.word array * SeqIndex.int -> word; | |
57 | val subVec = | |
58 | _prim "Word8Vector_subWord64": Word8.word vector * SeqIndex.int -> word; | |
59 | val update = | |
60 | _prim "Word8Array_updateWord64": Word8.word array * SeqIndex.int * word -> unit; | |
61 | end | |
62 | ||
63 | end |