Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | (* Copyright (C) 2009 Matthew Fluet. |
2 | * Copyright (C) 2004-2008 Henry Cejtin, Matthew Fluet, Suresh | |
3 | * Jagannathan, and Stephen Weeks. | |
4 | * | |
5 | * MLton is released under a BSD-style license. | |
6 | * See the file MLton-LICENSE for details. | |
7 | *) | |
8 | ||
9 | signature WORD_X_STRUCTS = | |
10 | sig | |
11 | structure WordSize: WORD_SIZE | |
12 | end | |
13 | ||
14 | signature WORD_X = | |
15 | sig | |
16 | include WORD_X_STRUCTS | |
17 | ||
18 | (* Words of all WordSize.t sizes. *) | |
19 | type t | |
20 | ||
21 | val add: t * t -> t | |
22 | val allOnes: WordSize.t -> t | |
23 | val andb: t * t -> t | |
24 | val compare: t * t * {signed: bool} -> order | |
25 | val div: t * t * {signed: bool} -> t | |
26 | val equals: t * t -> bool | |
27 | val fromChar: char -> t (* returns a word of size 8 *) | |
28 | val fromIntInf: IntInf.t * WordSize.t -> t | |
29 | val ge: t * t * {signed: bool} -> bool | |
30 | val gt: t * t * {signed: bool} -> bool | |
31 | val hash: t -> word | |
32 | val isAllOnes: t -> bool | |
33 | val isOne: t -> bool | |
34 | val isMax: t * {signed: bool} -> bool | |
35 | val isMin: t * {signed: bool} -> bool | |
36 | val isNegOne: t -> bool | |
37 | val isZero: t -> bool | |
38 | val layout: t -> Layout.t | |
39 | val le: t * t * {signed: bool} -> bool | |
40 | val lshift: t * t -> t | |
41 | val lt: t * t * {signed: bool} -> bool | |
42 | val max: WordSize.t * {signed: bool} -> t | |
43 | val min: WordSize.t * {signed: bool} -> t | |
44 | val mod: t * t * {signed: bool} -> t | |
45 | val mul: t * t * {signed: bool} -> t | |
46 | val neg: t -> t | |
47 | val notb: t -> t | |
48 | val one: WordSize.t -> t | |
49 | val orb: t * t -> t | |
50 | val quot: t * t * {signed: bool} -> t | |
51 | val rem: t * t * {signed: bool} -> t | |
52 | val resize: t * WordSize.t -> t | |
53 | val resizeX: t * WordSize.t -> t | |
54 | val rol: t * t -> t | |
55 | val ror: t * t -> t | |
56 | val rshift : t * t * {signed: bool} -> t | |
57 | val size: t -> WordSize.t | |
58 | val sub: t * t -> t | |
59 | val toChar: t -> char | |
60 | val toInt: t -> int | |
61 | val toIntInf: t -> IntInf.t | |
62 | val toIntInfX: t -> IntInf.t | |
63 | val toString: t -> string | |
64 | val xorb: t * t -> t | |
65 | val zero: WordSize.t -> t | |
66 | end |