accelerate-io-1.3.0.0: Convert between Accelerate arrays and raw pointers

Copyright[2017..2020] The Accelerate Team
LicenseBSD3
MaintainerTrevor L. McDonell <trevor.mcdonell@gmail.com>
Stabilityexperimental
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Data.Array.Accelerate.IO.Foreign.Ptr

Description

 
Synopsis

Documentation

type Ptrs e = GArrayDataR Ptr e Source #

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

fromPtrs :: forall sh e. (Shape sh, Elt e) => sh -> Ptrs (EltR e) -> Array sh e Source #

O(1). Treat the set of Ptrs 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 Ptrs afterwards.

You are responsible for ensuring that the data remains alive for the duration of the Accelerate computation, and for freeing it afterwards.

You should make sure that the data is suitably aligned.

since 1.1.0.0

toPtrs :: forall sh e. (Shape sh, Elt e) => Array sh e -> Ptrs (EltR e) Source #

O(1). Yield the underlying Ptrs backing 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