Fix GMP v4 compatibility.
[packages/integer-gmp.git] / GHC / Integer.lhs
1 \begin{code}
2 {-# LANGUAGE CPP, MagicHash, NoImplicitPrelude #-}
3
4 -----------------------------------------------------------------------------
5 -- |
6 -- Module      :  GHC.Integer
7 -- Copyright   :  (c) The University of Glasgow 1994-2008
8 -- License     :  see libraries/integer-gmp/LICENSE
9 --
10 -- Maintainer  :  cvs-ghc@haskell.org
11 -- Stability   :  internal
12 -- Portability :  non-portable (GHC Extensions)
13 --
14 -- The 'Integer' type.
15 --
16 -- This module exposes the /portable/ 'Integer' API.  See
17 -- "GHC.Integer.GMP.Internals" for the GMP-specific internal
18 -- representation of 'Integer' as well as optimized GMP-specific
19 -- operations.
20 -----------------------------------------------------------------------------
21
22 #include "MachDeps.h"
23
24 module GHC.Integer (
25     Integer,
26
27     -- * Construct 'Integer's
28     mkInteger, smallInteger, wordToInteger,
29 #if WORD_SIZE_IN_BITS < 64
30     word64ToInteger, int64ToInteger,
31 #endif
32     -- * Conversion to other integral types
33     integerToWord, integerToInt,
34 #if WORD_SIZE_IN_BITS < 64
35     integerToWord64, integerToInt64,
36 #endif
37
38     -- * Helpers for 'RealFloat' type-class operations
39     encodeFloatInteger, floatFromInteger,
40     encodeDoubleInteger, decodeDoubleInteger, doubleFromInteger,
41
42     -- * Arithmetic operations
43     plusInteger, minusInteger, timesInteger, negateInteger,
44  absInteger, signumInteger,
45     divModInteger, divInteger, modInteger,
46     quotRemInteger, quotInteger, remInteger,
47
48     -- * Comparison predicates
49     eqInteger, neqInteger,
50     leInteger, gtInteger, ltInteger, geInteger, compareInteger,
51     eqInteger#, neqInteger#,
52     leInteger#, gtInteger#, ltInteger#, geInteger#,
53
54     -- * Bit-operations
55     andInteger, orInteger, xorInteger, complementInteger,
56     shiftLInteger, shiftRInteger, testBitInteger,
57
58     -- * Hashing
59     hashInteger,
60  ) where
61
62 import GHC.Integer.Type
63
64 default ()
65 \end{code}
66