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

Safe HaskellSafe-Infered

Data.Array.Repa.Operators.IndexSpace

Synopsis

Documentation

reshape :: (Shape sh2, Shape sh1, Repr r1 e) => sh2 -> Array r1 sh1 e -> Array D sh2 eSource

Impose a new shape on the elements of an array. The new extent must be the same size as the original, else error.

append, (++) :: (Shape sh, Repr r1 e, Repr r2 e) => Array r1 (sh :. Int) e -> Array r2 (sh :. Int) e -> Array D (sh :. Int) eSource

Append two arrays.

transpose :: (Shape sh, Repr r e) => Array r ((sh :. Int) :. Int) e -> Array D ((sh :. Int) :. Int) eSource

Transpose the lowest two dimensions of an array. Transposing an array twice yields the original.

extractSource

Arguments

:: (Shape sh, Repr r e) 
=> sh

Starting index.

-> sh

Size of result.

-> Array r sh e 
-> Array D sh e 

Extract a sub-range of elements from an array.

backpermute,unsafeBackpermuteSource

Arguments

:: forall r sh1 sh2 e . (Shape sh1, Shape sh2, Repr r e) 
=> sh2

Extent of result array.

-> (sh2 -> sh1)

Function mapping each index in the result array to an index of the source array.

-> Array r sh1 e

Source array.

-> Array D sh2 e 

Backwards permutation of an array's elements. The result array has the same extent as the original.

backpermuteDft,unsafeBackpermuteDftSource

Arguments

:: forall r0 r1 sh1 sh2 e . (Shape sh1, Shape sh2, Repr r0 e, Repr r1 e) 
=> Array r0 sh2 e

Default values (arrDft)

-> (sh2 -> Maybe sh1)

Function mapping each index in the result array to an index in the source array.

-> Array r1 sh1 e

Source array.

-> Array D sh2 e 

Default backwards permutation of an array's elements. If the function returns Nothing then the value at that index is taken from the default array (arrDft)

extend, unsafeExtend :: (Slice sl, Shape (FullShape sl), Shape (SliceShape sl), Repr r e) => sl -> Array r (SliceShape sl) e -> Array D (FullShape sl) eSource

Extend an array, according to a given slice specification.

For example, to replicate the rows of an array use the following:

extend arr (Any :. (5::Int) :. All)

slice, unsafeSlice :: (Slice sl, Shape (FullShape sl), Shape (SliceShape sl), Repr r e) => Array r (FullShape sl) e -> sl -> Array D (SliceShape sl) eSource

Take a slice from an array, according to a given specification.

For example, to take a row from a matrix use the following:

slice arr (Any :. (5::Int) :. All)

To take a column use:

slice arr (Any :. (5::Int))