File: Logarithms.hs

package info (click to toggle)
ghc 9.6.6-4
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 158,216 kB
  • sloc: haskell: 648,228; ansic: 81,656; cpp: 11,808; javascript: 8,444; sh: 5,831; fortran: 3,527; python: 3,277; asm: 2,523; makefile: 2,298; yacc: 1,570; lisp: 532; xml: 196; perl: 145; csh: 2
file content (24 lines) | stat: -rw-r--r-- 591 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE MagicHash #-}

-- | Compatibility module for pre ghc-bignum code.
module GHC.Integer.Logarithms
   ( wordLog2#
   , integerLog2#
   , integerLogBase#
   )
where

import qualified GHC.Num.Primitives as N
import qualified GHC.Num.Integer    as N
import GHC.Num.Integer (Integer)
import GHC.Prim

wordLog2# :: Word# -> Int#
wordLog2# i = word2Int# (N.wordLog2# i)

integerLog2# :: Integer -> Int#
integerLog2# i = word2Int# (N.integerLog2# i)

integerLogBase# :: Integer -> Integer -> Int#
integerLogBase# x y = word2Int# (N.integerLogBase# x y)