module Ptr.List
where

import Ptr.Prelude


{-# INLINE reverseDigits #-}
reverseDigits :: Integral a => a {-^ Radix -} -> a {-^ Number -} -> [a]
reverseDigits :: 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