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.Data.Vector.Unboxed

Description

Efficient conversion between Unboxed vectors and Accelerate Arrays.

Synopsis

Documentation

class (Unbox e, Elt e) => Unbox e where Source #

Minimal complete definition

arrayDataOfUnboxed, unboxedOfArrayData

Methods

arrayDataOfUnboxed :: Vector e -> ArrayData (EltRepr e) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr e) -> Vector e Source #

Instances

Unbox Bool Source # 

Methods

arrayDataOfUnboxed :: Vector Bool -> ArrayData (EltRepr Bool) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Bool) -> Vector Bool Source #

Unbox Char Source # 

Methods

arrayDataOfUnboxed :: Vector Char -> ArrayData (EltRepr Char) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Char) -> Vector Char Source #

Unbox Double Source # 

Methods

arrayDataOfUnboxed :: Vector Double -> ArrayData (EltRepr Double) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Double) -> Vector Double Source #

Unbox Float Source # 

Methods

arrayDataOfUnboxed :: Vector Float -> ArrayData (EltRepr Float) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Float) -> Vector Float Source #

Unbox Int Source # 

Methods

arrayDataOfUnboxed :: Vector Int -> ArrayData (EltRepr Int) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Int) -> Vector Int Source #

Unbox Int8 Source # 

Methods

arrayDataOfUnboxed :: Vector Int8 -> ArrayData (EltRepr Int8) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Int8) -> Vector Int8 Source #

Unbox Int16 Source # 

Methods

arrayDataOfUnboxed :: Vector Int16 -> ArrayData (EltRepr Int16) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Int16) -> Vector Int16 Source #

Unbox Int32 Source # 

Methods

arrayDataOfUnboxed :: Vector Int32 -> ArrayData (EltRepr Int32) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Int32) -> Vector Int32 Source #

Unbox Int64 Source # 

Methods

arrayDataOfUnboxed :: Vector Int64 -> ArrayData (EltRepr Int64) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Int64) -> Vector Int64 Source #

Unbox Word Source # 

Methods

arrayDataOfUnboxed :: Vector Word -> ArrayData (EltRepr Word) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Word) -> Vector Word Source #

Unbox Word8 Source # 

Methods

arrayDataOfUnboxed :: Vector Word8 -> ArrayData (EltRepr Word8) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Word8) -> Vector Word8 Source #

Unbox Word16 Source # 

Methods

arrayDataOfUnboxed :: Vector Word16 -> ArrayData (EltRepr Word16) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Word16) -> Vector Word16 Source #

Unbox Word32 Source # 

Methods

arrayDataOfUnboxed :: Vector Word32 -> ArrayData (EltRepr Word32) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Word32) -> Vector Word32 Source #

Unbox Word64 Source # 

Methods

arrayDataOfUnboxed :: Vector Word64 -> ArrayData (EltRepr Word64) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr Word64) -> Vector Word64 Source #

Unbox () Source # 

Methods

arrayDataOfUnboxed :: Vector () -> ArrayData (EltRepr ()) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr ()) -> Vector () Source #

(Unbox a, Unbox b) => Unbox (a, b) Source # 

Methods

arrayDataOfUnboxed :: Vector (a, b) -> ArrayData (EltRepr (a, b)) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr (a, b)) -> Vector (a, b) Source #

(Unbox a, Unbox b, Unbox c) => Unbox (a, b, c) Source # 

Methods

arrayDataOfUnboxed :: Vector (a, b, c) -> ArrayData (EltRepr (a, b, c)) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr (a, b, c)) -> Vector (a, b, c) Source #

(Unbox a, Unbox b, Unbox c, Unbox d) => Unbox (a, b, c, d) Source # 

Methods

arrayDataOfUnboxed :: Vector (a, b, c, d) -> ArrayData (EltRepr (a, b, c, d)) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr (a, b, c, d)) -> Vector (a, b, c, d) Source #

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => Unbox (a, b, c, d, e) Source # 

Methods

arrayDataOfUnboxed :: Vector (a, b, c, d, e) -> ArrayData (EltRepr (a, b, c, d, e)) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr (a, b, c, d, e)) -> Vector (a, b, c, d, e) Source #

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => Unbox (a, b, c, d, e, f) Source # 

Methods

arrayDataOfUnboxed :: Vector (a, b, c, d, e, f) -> ArrayData (EltRepr (a, b, c, d, e, f)) Source #

unboxedOfArrayData :: Int -> ArrayData (EltRepr (a, b, c, d, e, f)) -> Vector (a, b, c, d, e, f) Source #

toUnboxed :: (Shape sh, Unbox e) => Array sh e -> Vector e Source #

O(1) (typically). Convert an Accelerate array into an Unboxed vector.

If the array data was allocated by Accelerate, this can typically be done without copying. The resulting vector will be pinned.

since 1.1.0.0

fromUnboxed :: Unbox e => Vector e -> Array DIM1 e Source #

O(n) (typically). Convert an Unboxed vector into an Accelerate array Accelerate array.

If the underlying vectors are pinned then this can be done without copying.

See also: https://ghc.haskell.org/trac/ghc/ticket/5556

since 1.1.0.0