[Haskell] for large x, log (x::Integer) :: Double
Edmund GRIMLEY EVANS
do_not_use at yahoo.co.uk
Mon Jul 5 05:08:04 EDT 2004
> For those who aren't aware: working with logs base 2 internally will
> be very much faster than logs base 10, since the numbers are stored
> internally in a base-2 representation. (Note that 'show' converts to
> base 10, which involves a large number of divisions in the easy
Does Haskell provide any means of determining the number of binary
digits in an Integer other than by repeated division? In the absence
of an appropriate built-in or library function it may be that the
fastest way is to use (length (show x)), multiply by some fiddle
factor, add some fiddle term to get n, then check whether x < 2 ** n.
Could "log2 :: Integer -> Integer" be added to some wish list?
More information about the Haskell