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

Safe Haskell | None
Language | Haskell98

Data.Array.Repa.Slice

Description

Index space transformation between arrays and slices.

Synopsis

- data All = All
- data Any sh = Any
- type family FullShape ss
- type family SliceShape ss
- class Slice ss where
  - sliceOfFull :: ss -> FullShape ss -> SliceShape ss
  - fullOfSlice :: ss -> SliceShape ss -> FullShape ss

# Documentation

data All Source #

Select all indices at a certain position.

Constructors

All |

#### Instances

Instances details

Slice sl => Slice (sl :. All) Source # |
Instance details Defined in Data.Array.Repa.Slice Methods sliceOfFull :: (sl :. All) -> FullShape (sl :. All) -> SliceShape (sl :. All) Source # fullOfSlice :: (sl :. All) -> SliceShape (sl :. All) -> FullShape (sl :. All) Source #
type SliceShape (sl :. All) Source # |
Instance details Defined in Data.Array.Repa.Slice type SliceShape (sl :. All) = SliceShape sl :. Int
type FullShape (sl :. All) Source # |
Instance details Defined in Data.Array.Repa.Slice type FullShape (sl :. All) = FullShape sl :. Int

data Any sh Source #

Place holder for any possible shape.

Constructors

Any |

#### Instances

Instances details

Slice (Any sh) Source # |
Instance details Defined in Data.Array.Repa.Slice Methods sliceOfFull :: Any sh -> FullShape (Any sh) -> SliceShape (Any sh) Source # fullOfSlice :: Any sh -> SliceShape (Any sh) -> FullShape (Any sh) Source #
type SliceShape (Any sh) Source # |
Instance details Defined in Data.Array.Repa.Slice type SliceShape (Any sh) = sh
type FullShape (Any sh) Source # |
Instance details Defined in Data.Array.Repa.Slice type FullShape (Any sh) = sh

type family FullShape ss Source #

Map a type of the index in the full shape, to the type of the index in the slice.

#### Instances

Instances details

type FullShape Z Source # |
Instance details Defined in Data.Array.Repa.Slice type FullShape Z = Z
type FullShape (Any sh) Source # |
Instance details Defined in Data.Array.Repa.Slice type FullShape (Any sh) = sh
type FullShape (sl :. All) Source # |
Instance details Defined in Data.Array.Repa.Slice type FullShape (sl :. All) = FullShape sl :. Int
type FullShape (sl :. Int) Source # |
Instance details Defined in Data.Array.Repa.Slice type FullShape (sl :. Int) = FullShape sl :. Int

type family SliceShape ss Source #

Map the type of an index in the slice, to the type of the index in the full shape.

#### Instances

Instances details

type SliceShape Z Source # |
Instance details Defined in Data.Array.Repa.Slice type SliceShape Z = Z
type SliceShape (Any sh) Source # |
Instance details Defined in Data.Array.Repa.Slice type SliceShape (Any sh) = sh
type SliceShape (sl :. All) Source # |
Instance details Defined in Data.Array.Repa.Slice type SliceShape (sl :. All) = SliceShape sl :. Int
type SliceShape (sl :. Int) Source # |
Instance details Defined in Data.Array.Repa.Slice type SliceShape (sl :. Int) = SliceShape sl

class Slice ss where Source #

Class of index types that can map to slices.

Methods

sliceOfFull :: ss -> FullShape ss -> SliceShape ss Source #

Map an index of a full shape onto an index of some slice.

fullOfSlice :: ss -> SliceShape ss -> FullShape ss Source #

Map an index of a slice onto an index of the full shape.

#### Instances

Instances details

Slice Z Source # |
Instance details Defined in Data.Array.Repa.Slice Methods sliceOfFull :: Z -> FullShape Z -> SliceShape Z Source # fullOfSlice :: Z -> SliceShape Z -> FullShape Z Source #
Slice (Any sh) Source # |
Instance details Defined in Data.Array.Repa.Slice Methods sliceOfFull :: Any sh -> FullShape (Any sh) -> SliceShape (Any sh) Source # fullOfSlice :: Any sh -> SliceShape (Any sh) -> FullShape (Any sh) Source #
Slice sl => Slice (sl :. All) Source # |
Instance details Defined in Data.Array.Repa.Slice Methods sliceOfFull :: (sl :. All) -> FullShape (sl :. All) -> SliceShape (sl :. All) Source # fullOfSlice :: (sl :. All) -> SliceShape (sl :. All) -> FullShape (sl :. All) Source #
Slice sl => Slice (sl :. Int) Source # |
Instance details Defined in Data.Array.Repa.Slice Methods sliceOfFull :: (sl :. Int) -> FullShape (sl :. Int) -> SliceShape (sl :. Int) Source # fullOfSlice :: (sl :. Int) -> SliceShape (sl :. Int) -> FullShape (sl :. Int) Source #