accelerate-io-1.2.0.0: Read and write Accelerate arrays in various formats

Copyright[2017] Trevor L. McDonell
LicenseBSD3
MaintainerTrevor L. McDonell <tmcdonell@cse.unsw.edu.au>
Stabilityexperimental
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Data.Array.Accelerate.IO.Foreign.ForeignPtr

Description

 

Synopsis

Documentation

type family ForeignPtrs e Source #

A family of types which represent a collection of ForeignPtrs. The structure of the collection depends on the element type e.

Instances

type ForeignPtrs Bool Source # 
type ForeignPtrs Char Source # 
type ForeignPtrs Double Source # 
type ForeignPtrs Float Source # 
type ForeignPtrs Int Source # 
type ForeignPtrs Int8 Source # 
type ForeignPtrs Int16 Source # 
type ForeignPtrs Int32 Source # 
type ForeignPtrs Int64 Source # 
type ForeignPtrs Word Source # 
type ForeignPtrs Word8 Source # 
type ForeignPtrs Word16 Source # 
type ForeignPtrs Word32 Source # 
type ForeignPtrs Word64 Source # 
type ForeignPtrs () Source # 
type ForeignPtrs () = ()
type ForeignPtrs Half Source # 
type ForeignPtrs CDouble Source # 
type ForeignPtrs CFloat Source # 
type ForeignPtrs CULLong Source # 
type ForeignPtrs CLLong Source # 
type ForeignPtrs CULong Source # 
type ForeignPtrs CULong = ForeignPtr HTYPE_UNSIGNED_LONG
type ForeignPtrs CLong Source # 
type ForeignPtrs CLong = ForeignPtr HTYPE_LONG
type ForeignPtrs CUInt Source # 
type ForeignPtrs CInt Source # 
type ForeignPtrs CUShort Source # 
type ForeignPtrs CShort Source # 
type ForeignPtrs CUChar Source # 
type ForeignPtrs CSChar Source # 
type ForeignPtrs CChar Source # 
type ForeignPtrs CChar = ForeignPtr HTYPE_CCHAR
type ForeignPtrs (V2 a) Source # 
type ForeignPtrs (V2 a) = ForeignPtrs a
type ForeignPtrs (V3 a) Source # 
type ForeignPtrs (V3 a) = ForeignPtrs a
type ForeignPtrs (V4 a) Source # 
type ForeignPtrs (V4 a) = ForeignPtrs a
type ForeignPtrs (V8 a) Source # 
type ForeignPtrs (V8 a) = ForeignPtrs a
type ForeignPtrs (V16 a) Source # 
type ForeignPtrs (V16 a) = ForeignPtrs a
type ForeignPtrs (a, b) Source # 
type ForeignPtrs (a, b) = (ForeignPtrs a, ForeignPtrs b)

fromForeignPtrs :: (Shape sh, Elt e) => sh -> ForeignPtrs (EltRepr e) -> Array sh e Source #

O(1). Treat the set of ForeignPtrs as an Accelerate array. The type of elements e in the output Accelerate array determines the structure of the collection.

Data is considered to be in row-major order. You must ensure that each of the input pointers contains the right number of elements.

The data may not be modified through the ForeignPtrs afterwards.

You should make sure that the data is suitably aligned.

since 1.1.0.0

toForeignPtrs :: (Shape sh, Elt e) => Array sh e -> ForeignPtrs (EltRepr e) Source #

O(1). Yield the ForeignPtrs underlying the given Accelerate Array. The element type e will determine the structure of the output collection.

Data is considered to be in row-major order.

since 1.1.0.0