1(*
2    Title:      Standard Basis Library: INTEGER signature
3    Copyright   David C.J. Matthews 1999, 2016
4
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License version 2.1 as published by the Free Software Foundation.
8    
9    This library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13    
14    You should have received a copy of the GNU Lesser General Public
15    License along with this library; if not, write to the Free Software
16    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17*)
18
19signature INTEGER =
20sig
21    eqtype  int
22    val toLarge : int -> LargeInt.int
23    val fromLarge : LargeInt.int -> int
24    val toInt : int -> Int.int
25    val fromInt : Int.int -> int
26    val precision : Int.int option
27
28    val minInt : int option
29    val maxInt : int option
30
31    val ~ : int -> int
32    val * : (int * int) -> int
33    val div : (int * int) -> int
34    val mod : (int * int) -> int
35    val quot : (int * int) -> int
36    val rem : (int * int) -> int
37    val + : (int * int) -> int
38    val - : (int * int) -> int
39    val compare : (int * int) -> General.order
40
41    val > : (int * int) -> bool
42    val >= : (int * int) -> bool
43    val < : (int * int) -> bool
44    val <= : (int * int) -> bool
45
46    val abs : int -> int
47    val min : (int * int) -> int
48    val max : (int * int) -> int
49    val sign : int -> Int.int
50    val sameSign : (int * int) -> bool
51    val fmt : StringCvt.radix -> int -> string
52    val toString : int -> string
53    val fromString : string -> int option
54    val scan : StringCvt.radix -> (char, 'a) StringCvt.reader -> (int, 'a) StringCvt.reader
55end;
56