GHC.Integer.Logarithms

Safe Haskell None
Language Haskell2010

wordLog2# :: Word# -> Int# Source

Compute base-2 log of Word#

This is internally implemented as count-leading-zeros machine instruction.

integerLog2# :: Integer -> Int# Source

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# Source

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

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/integer-gmp-1.0.0.0/GHC-Integer-Logarithms.html