-- | Material arrays are represented as concrete data in memory. -- -- For performance reasons, random access indexing into these layouts -- is not bounds checked. However, all bulk operators like @map@ and @concat@ -- are guaranteed to be safe. -- -- * `A` -- Type directed automatic layout. -- -- * `F` -- Foreign memory buffers. -- -- * `N` -- Nested arrays. -- -- * `B` -- Boxed vectors, via "Data.Vector.Boxed" -- -- * `U` -- Adaptive unboxed vectors, via "Data.Vector.Unboxed" -- module Data.Repa.Array.Material ( Material , Name (..) , Array (..) -- * Auto arrays , A (..) -- * Foreign arrays , F (..) , fromForeignPtr, toForeignPtr , fromByteString, toByteString , fromStorableVector, toStorableVector -- * Nested arrays , N (..) , fromLists , fromListss -- * Boxed arrays , B (..) , fromBoxed, toBoxed -- * Unboxed arrays , U (..) , Unbox , fromUnboxed, toUnboxed -- * Material operators -- | These operators work on particular material representations, -- rather than being generic like the ones in "Data.Repa.Array.Generic" -- ** Mapping , mapElems -- ** Filtering , decimate -- ** Slicing , slices -- ** Partitioning , partition , partitionBy , partitionByIx -- ** Concatenation , concats -- ** Splitting , segment , segmentOn , dice , diceSep -- ** Trimming , trims , trimEnds , trimStarts -- ** Transpose , ragspose3) where import Data.Repa.Array.Internals.Operator.Partition import Data.Repa.Array.Material.Auto import Data.Repa.Array.Material.Boxed import Data.Repa.Array.Material.Unboxed import Data.Repa.Array.Material.Foreign import Data.Repa.Array.Material.Nested import Data.Repa.Array.Meta.Window import Data.Repa.Array.Internals.Bulk import Data.Repa.Array.Internals.Target -- | Classes supported by all material representations. -- -- We can index them in a random-access manner, -- window them in constant time, -- and use them as targets for a computation. -- -- In particular, delayed arrays are not material as we cannot use them -- as targets for a computation. -- type Material l a = (Bulk l a, Windowable l a, Target l a)