-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | The fast library for integer-to-digits conversion.
--   
--   Convert an integer to digits and back. Usually this library is twice
--   as fast as <a>Data.Digits</a>. For small bases and long numbers it may
--   be up to 40 times faster.
@package fast-digits
@version 0.2.1.0


module Data.FastDigits.Internal

-- | Take an integer base and return (pow, base^pow), where base^pow &lt;=
--   maxBound and pow is as large as possible.
selectPower :: Word# -> (# Word#, Word# #)

-- | Take an integer base and return (pow, base^pow), where base^pow &lt;=
--   maxBound and pow is as large as possible.
selectPower' :: Word -> (Word, Word)


-- | Convert an integer to digits and back. Usually this library is twice
--   as fast as <a>Data.Digits</a>. For small bases and long numbers it may
--   be up to 40 times faster.
module Data.FastDigits

-- | Return digits of a non-negative number in reverse order. Throw an
--   error if number is negative or base is below 2.
--   
--   <pre>
--   digits 10 123 = [3, 2, 1]
--   digits 10 0   = []
--   </pre>
digits :: Int -> Integer -> [Int]

-- | Return an integer, built from given digits in reverse order. Condition
--   0 ≤ digit &lt; base is not checked.
undigits :: (Integral a, Integral b) => a -> [b] -> Integer

-- | Return digits of a non-negative number in reverse order.
digitsUnsigned :: Word -> Natural -> [Word]
