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

Safe HaskellNone
LanguageHaskell98

Data.Array.Repa.Repr.ForeignPtr

Synopsis

Documentation

data F Source #

Arrays represented as foreign buffers in the C heap.

Instances
Storable a => Source F a Source #

Read elements from a foreign buffer.

Instance details

Defined in Data.Array.Repa.Repr.ForeignPtr

Associated Types

data Array F sh a :: * Source #

Methods

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

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

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

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

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

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

Storable e => Target F e Source #

Filling foreign buffers.

Instance details

Defined in Data.Array.Repa.Repr.ForeignPtr

Associated Types

data MVec F e :: * Source #

Methods

newMVec :: Int -> IO (MVec F e) Source #

unsafeWriteMVec :: MVec F e -> Int -> e -> IO () Source #

unsafeFreezeMVec :: sh -> MVec F e -> IO (Array F sh e) Source #

deepSeqMVec :: MVec F e -> a -> a Source #

touchMVec :: MVec F e -> IO () Source #

Storable a => Structured F a b Source # 
Instance details

Defined in Data.Array.Repa.Operators.Mapping

Associated Types

type TR F :: * Source #

Methods

smap :: Shape sh => (a -> b) -> Array F sh a -> Array (TR F) sh b Source #

szipWith :: (Shape sh, Source r c) => (c -> a -> b) -> Array r sh c -> Array F sh a -> Array (TR F) sh b Source #

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 MVec F e Source # 
Instance details

Defined in Data.Array.Repa.Repr.ForeignPtr

data MVec F e = FPVec !Int !(ForeignPtr e)
type TR F Source # 
Instance details

Defined in Data.Array.Repa.Operators.Mapping

type TR F = D

data family Array r sh e Source #

Instances
(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

(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) # 
Instance details

Defined in Data.Array.Repa.Arbitrary

Methods

arbitrary :: Gen (Array V sh a) #

shrink :: Array V sh a -> [Array V sh a] #

(Arbitrary sh, Arbitrary a, Unbox a, Shape sh) => Arbitrary (Array U sh a) # 
Instance details

Defined in Data.Array.Repa.Arbitrary

Methods

arbitrary :: Gen (Array U sh a) #

shrink :: Array U sh a -> [Array U sh a] #

(CoArbitrary sh, CoArbitrary a, Source r a, Shape sh) => CoArbitrary (Array r sh a) # 
Instance details

Defined in Data.Array.Repa.Arbitrary

Methods

coarbitrary :: Array r sh a -> Gen b -> Gen b #

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 where
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 (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)

fromForeignPtr :: Shape sh => sh -> ForeignPtr e -> Array F sh e Source #

O(1). Wrap a ForeignPtr as an array.

toForeignPtr :: Array F sh e -> ForeignPtr e Source #

O(1). Unpack a ForeignPtr from an array.

computeIntoS :: (Load r1 sh e, Storable e) => ForeignPtr e -> Array r1 sh e -> IO () Source #

Compute an array sequentially and write the elements into a foreign buffer without intermediate copying. If you want to copy a pre-existing manifest array to a foreign buffer then delay it first.

computeIntoP :: (Load r1 sh e, Storable e) => ForeignPtr e -> Array r1 sh e -> IO () Source #

Compute an array in parallel and write the elements into a foreign buffer without intermediate copying. If you want to copy a pre-existing manifest array to a foreign buffer then delay it first.