module Ptr.List where
import Ptr.Prelude
{-# INLINE reverseDigits #-}
reverseDigits ::
(Integral a) =>
a ->
a ->
[a]
reverseDigits :: forall a. Integral a => a -> a -> [a]
reverseDigits a
radix =
let loop :: a -> [a]
loop a
x = case a -> a -> (a, a)
forall a. Integral a => a -> a -> (a, a)
divMod a
x a
radix of
(a
next, a
digit) -> a
digit a -> [a] -> [a]
forall a. a -> [a] -> [a]
: if a
next a -> a -> Bool
forall a. Ord a => a -> a -> Bool
<= a
0 then [] else a -> [a]
loop a
next
in a -> [a]
loop