Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- wordLog2# :: Word# -> Int#
- integerLog2# :: Integer -> Int#
- integerLogBase# :: Integer -> Integer -> Int#
Documentation
Compute base-2 log of Word#
This is internally implemented as count-leading-zeros machine instruction.
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.
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