indexation-0.4.7: library/Indexation/FoldM/Basic.hs
module Indexation.FoldM.Basic
where
import Indexation.Prelude
import Control.Foldl
import qualified Data.Vector.Unboxed as UnboxedVector
import qualified Data.Vector.Unboxed.Mutable as MutableUnboxedVector
countIndices :: Int -> FoldM IO Int (UnboxedVector.Vector Word32)
countIndices amount = FoldM step init extract where
init = MutableUnboxedVector.new amount
step mv index = MutableUnboxedVector.modify mv succ index $> mv
extract = UnboxedVector.unsafeFreeze