-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Integer library based on GMP
--   
--   This package contains an Integer library based on GMP.
@package integer-gmp

module GHC.Integer.GMP.Internals

-- | Arbitrary-precision integers.
data Integer
S# :: Int# -> Integer
J# :: Int# -> ByteArray# -> Integer
gcdInteger :: Integer -> Integer -> Integer
lcmInteger :: Integer -> Integer -> Integer

module GHC.Integer.Logarithms

-- | Calculate the integer logarithm for an arbitrary base. The base must
--   be greater than 1, the second argument, the number whose logarithm is
--   sought, should be positive, otherwise the result is meaningless.
--   
--   <pre>
--   base ^ integerLogBase# base m &lt;= m &lt; base ^ (integerLogBase# base m + 1)
--   </pre>
--   
--   for <tt>base &gt; 1</tt> and <tt>m &gt; 0</tt>.
integerLogBase# :: Integer -> Integer -> Int#

-- | Calculate the integer base 2 logarithm of an <a>Integer</a>. The
--   calculation is more efficient than for the general case, on platforms
--   with 32- or 64-bit words much more efficient.
--   
--   The argument must be strictly positive, that condition is <i>not</i>
--   checked.
integerLog2# :: Integer -> Int#

-- | This function calculates the integer base 2 logarithm of a
--   <a>Word#</a>.
wordLog2# :: Word# -> Int#
