module Data.Repa.Array.Internals.Load (Load (..)) where import Data.Repa.Array.Internals.Target import Data.Repa.Array.Internals.Bulk import Data.Repa.Eval.Gang -- | Compute all elements defined by a delayed array and write them to a -- manifest target representation. -- -- The instances of this class require that the source array has a delayed -- representation. If you want to use a pre-existing manifest array as the -- source then `delay` it first. -- class (Bulk l1 a, Target l2 a) => Load l1 l2 a where -- | Fill an entire array sequentially. loadS :: Array l1 a -> Buffer l2 a -> IO () -- | Fill an entire array in parallel. loadP :: Gang -> Array l1 a -> Buffer l2 a -> IO ()