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/8.6.1/docs/html/libraries/integer-gmp-1.0.2.0/GHC-Integer-Logarithms.html