repa-3.4.1.4: High performance, regular, shape polymorphic parallel arrays.

Safe Haskell | None
Language | Haskell98

Data.Array.Repa.Repr.Delayed

Synopsis

- data D
- data family Array r sh e
- fromFunction :: sh -> (sh -> a) -> Array D sh a
- toFunction :: (Shape sh, Source r1 a) => Array r1 sh a -> (sh, sh -> a)
- delay :: Shape sh => Source r e => Array r sh e -> Array D sh e

# Documentation

data D Source #

Delayed arrays are represented as functions from the index to element value.

Every time you index into a delayed array the element at that position is recomputed.

#### Instances

Instances details

Source D a Source # | Compute elements of a delayed array.

Instance details

Defined in Data.Array.Repa.Repr.Delayed

Associated Types

data Array D sh a Source #

Methods

extent :: Shape sh => Array D sh a -> sh Source #

index :: Shape sh => Array D sh a -> sh -> a Source #

unsafeIndex :: Shape sh => Array D sh a -> sh -> a Source #

linearIndex :: Shape sh => Array D sh a -> Int -> a Source #

unsafeLinearIndex :: Shape sh => Array D sh a -> Int -> a Source #

deepSeqArray :: Shape sh => Array D sh a -> b -> b Source #

Elt e => LoadRange D DIM2 e Source # | Compute a range of elements in a rank-2 array.
Instance details Defined in Data.Array.Repa.Repr.Delayed Methods loadRangeS :: Target r2 e => Array D DIM2 e -> MVec r2 e -> DIM2 -> DIM2 -> IO () Source # loadRangeP :: Target r2 e => Array D DIM2 e -> MVec r2 e -> DIM2 -> DIM2 -> IO () Source #
Shape sh => Load D sh e Source # | Compute all elements in an array.
Instance details Defined in Data.Array.Repa.Repr.Delayed Methods loadS :: Target r2 e => Array D sh e -> MVec r2 e -> IO () Source # loadP :: Target r2 e => Array D sh e -> MVec r2 e -> IO () Source #
Structured D a b Source # |
Instance details Defined in Data.Array.Repa.Operators.Mapping Associated Types type TR D Source # Methods smap :: Shape sh => (a -> b) -> Array D sh a -> Array (TR D) sh b Source # szipWith :: (Shape sh, Source r c) => (c -> a -> b) -> Array r sh c -> Array D sh a -> Array (TR D) sh b Source #
(Shape sh, Load D sh e) => Load (I D) sh e Source # |
Instance details Defined in Data.Array.Repa.Repr.HintInterleave Methods loadS :: Target r2 e => Array (I D) sh e -> MVec r2 e -> IO () Source # loadP :: Target r2 e => Array (I D) sh e -> MVec r2 e -> IO () Source #
data Array D sh a Source # |
Instance details Defined in Data.Array.Repa.Repr.Delayed data Array D sh a = ADelayed !sh (sh -> a)
type TR D Source # |
Instance details Defined in Data.Array.Repa.Operators.Mapping type TR D = D

data family Array r sh e Source #

#### Instances

Instances details

(Shape sh, Eq sh, Source r a, Eq a) => Eq (Array r sh a) |
Instance details Defined in Data.Array.Repa.Operators.Reduction Methods (==) :: Array r sh a -> Array r sh a -> Bool (/=) :: Array r sh a -> Array r sh a -> Bool
Read (Array r1 sh e) => Read (Array (S r1) sh e) |
Instance details Defined in Data.Array.Repa.Repr.HintSmall Methods readsPrec :: Int -> ReadS (Array (S r1) sh e) readList :: ReadS [Array (S r1) sh e] readPrec :: ReadPrec (Array (S r1) sh e) readListPrec :: ReadPrec [Array (S r1) sh e]
Read (Array r1 sh e) => Read (Array (I r1) sh e) |
Instance details Defined in Data.Array.Repa.Repr.HintInterleave Methods readsPrec :: Int -> ReadS (Array (I r1) sh e) readList :: ReadS [Array (I r1) sh e] readPrec :: ReadPrec (Array (I r1) sh e) readListPrec :: ReadPrec [Array (I r1) sh e]
Read sh => Read (Array B sh Word8) |
Instance details Defined in Data.Array.Repa.Repr.ByteString Methods readsPrec :: Int -> ReadS (Array B sh Word8) readList :: ReadS [Array B sh Word8] readPrec :: ReadPrec (Array B sh Word8) readListPrec :: ReadPrec [Array B sh Word8]
(Read sh, Read e) => Read (Array V sh e) |
Instance details Defined in Data.Array.Repa.Repr.Vector Methods readsPrec :: Int -> ReadS (Array V sh e) readList :: ReadS [Array V sh e] readPrec :: ReadPrec (Array V sh e) readListPrec :: ReadPrec [Array V sh e]
Read sh => Read (Array X sh e) |
Instance details Defined in Data.Array.Repa.Repr.Undefined Methods readsPrec :: Int -> ReadS (Array X sh e) readList :: ReadS [Array X sh e] readPrec :: ReadPrec (Array X sh e) readListPrec :: ReadPrec [Array X sh e]
(Read sh, Read e, Unbox e) => Read (Array U sh e) |
Instance details Defined in Data.Array.Repa.Repr.Unboxed Methods readsPrec :: Int -> ReadS (Array U sh e) readList :: ReadS [Array U sh e] readPrec :: ReadPrec (Array U sh e) readListPrec :: ReadPrec [Array U sh e]
Show (Array r1 sh e) => Show (Array (S r1) sh e) |
Instance details Defined in Data.Array.Repa.Repr.HintSmall Methods showsPrec :: Int -> Array (S r1) sh e -> ShowS show :: Array (S r1) sh e -> String showList :: [Array (S r1) sh e] -> ShowS
Show (Array r1 sh e) => Show (Array (I r1) sh e) |
Instance details Defined in Data.Array.Repa.Repr.HintInterleave Methods showsPrec :: Int -> Array (I r1) sh e -> ShowS show :: Array (I r1) sh e -> String showList :: [Array (I r1) sh e] -> ShowS
Show sh => Show (Array B sh Word8) |
Instance details Defined in Data.Array.Repa.Repr.ByteString Methods showsPrec :: Int -> Array B sh Word8 -> ShowS show :: Array B sh Word8 -> String showList :: [Array B sh Word8] -> ShowS
(Show sh, Show e) => Show (Array V sh e) |
Instance details Defined in Data.Array.Repa.Repr.Vector Methods showsPrec :: Int -> Array V sh e -> ShowS show :: Array V sh e -> String showList :: [Array V sh e] -> ShowS
Show sh => Show (Array X sh e) |
Instance details Defined in Data.Array.Repa.Repr.Undefined Methods showsPrec :: Int -> Array X sh e -> ShowS show :: Array X sh e -> String showList :: [Array X sh e] -> ShowS
(Show sh, Show e, Unbox e) => Show (Array U sh e) |
Instance details Defined in Data.Array.Repa.Repr.Unboxed Methods showsPrec :: Int -> Array U sh e -> ShowS show :: Array U sh e -> String showList :: [Array U sh e] -> ShowS
(Arbitrary sh, Arbitrary a, Shape sh) => Arbitrary (Array V sh a) Source # |
Instance details Defined in Data.Array.Repa.Arbitrary Methods arbitrary :: Gen (Array V sh a) Source # shrink :: Array V sh a -> [Array V sh a] Source #
(Arbitrary sh, Arbitrary a, Unbox a, Shape sh) => Arbitrary (Array U sh a) Source # |
Instance details Defined in Data.Array.Repa.Arbitrary Methods arbitrary :: Gen (Array U sh a) Source # shrink :: Array U sh a -> [Array U sh a] Source #
(CoArbitrary sh, CoArbitrary a, Source r a, Shape sh) => CoArbitrary (Array r sh a) Source # |
Instance details Defined in Data.Array.Repa.Arbitrary Methods coarbitrary :: Array r sh a -> Gen b -> Gen b Source #
data Array D sh a Source # |
Instance details Defined in Data.Array.Repa.Repr.Delayed data Array D sh a = ADelayed !sh (sh -> a)
data Array F sh a Source # |
Instance details Defined in Data.Array.Repa.Repr.ForeignPtr data Array F sh a = AForeignPtr !sh !Int !(ForeignPtr a)
data Array V sh a Source # |
Instance details Defined in Data.Array.Repa.Repr.Vector data Array V sh a = AVector !sh !(Vector a)
data Array X sh e Source # |
Instance details Defined in Data.Array.Repa.Repr.Undefined data Array X sh e = AUndefined !sh
data Array C sh a Source # |

Instance details

Defined in Data.Array.Repa.Repr.Cursored

data Array C sh a = ACursored {

- cursoredExtent :: !sh
- makeCursor :: sh -> cursor
- shiftCursor :: sh -> cursor -> cursor
- loadCursor :: cursor -> a

}

data Array U sh a Source # |
Instance details Defined in Data.Array.Repa.Repr.Unboxed data Array U sh a = AUnboxed !sh !(Vector a)
data Array B sh Word8 Source # |
Instance details Defined in Data.Array.Repa.Repr.ByteString data Array B sh Word8 = AByteString !sh !ByteString
data Array (S r1) sh a Source # |
Instance details Defined in Data.Array.Repa.Repr.HintSmall data Array (S r1) sh a = ASmall !(Array r1 sh a)
data Array (I r1) sh a Source # |
Instance details Defined in Data.Array.Repa.Repr.HintInterleave data Array (I r1) sh a = AInterleave !(Array r1 sh a)
data Array (P r1 r2) sh e Source # |
Instance details Defined in Data.Array.Repa.Repr.Partitioned data Array (P r1 r2) sh e = APart !sh !(Range sh) !(Array r1 sh e) !(Array r2 sh e)

fromFunction :: sh -> (sh -> a) -> Array D sh a Source #

O(1). Wrap a function as a delayed array.

toFunction :: (Shape sh, Source r1 a) => Array r1 sh a -> (sh, sh -> a) Source #

O(1). Produce the extent of an array, and a function to retrieve an arbitrary element.

delay :: Shape sh => Source r e => Array r sh e -> Array D sh e Source #

O(1). Delay an array. This wraps the internal representation to be a function from indices to elements, so consumers don't need to worry about what the previous representation was.