Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / basis-library / primitive / prim-pack-word.sml
CommitLineData
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
11structure Primitive = struct
12
13open Primitive
14
15structure 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
27structure 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
39structure 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
51structure 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
63end