| Copyright | (c) 2011 Daniel Fischer |
|---|---|
| License | MIT |
| Maintainer | Daniel Fischer <[email protected]> |
| Stability | Provisional |
| Portability | Non-portable (GHC extensions) |
| Safe Haskell | None |
| Language | Haskell2010 |
GHC.Integer.Logarithms.Compat
Contents
Description
Low level stuff for integer logarithms.
- integerLogBase# :: Integer -> Integer -> Int#
- integerLog2# :: Integer -> Int#
- wordLog2# :: Word# -> Int#
Functions
integerLogBase# :: Integer -> Integer -> Int# #
Calculate the integer logarithm for an arbitrary base.
The base must be greater than 1, the second argument, the number
whose logarithm is sought, shall be positive, otherwise the
result is meaningless.
The following property holds
base ^integerLogBase#base m <= m < base ^(integerLogBase#base m + 1)
for base > 1 and m > 0.
Note: Internally uses integerLog2# for base 2
integerLog2# :: Integer -> Int# #
Calculate the integer base 2 logarithm of an Integer. 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 not checked.