module Indexation.Utils.UnboxedVector where import Indexation.Prelude hiding (Vector) import Data.Vector.Unboxed hiding (forM_) import qualified Data.Vector.Unboxed.Mutable as MutableUnboxedVector filledIndicesFoldable :: Foldable foldable => Int -> foldable Int -> Vector Bool filledIndicesFoldable size foldable = runST $ do mv <- MutableUnboxedVector.new size forM_ foldable $ \ index -> do MutableUnboxedVector.unsafeWrite mv index True unsafeFreeze mv