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

Safe Haskell | None
Language | Haskell98

Data.Array.Repa.Index

Contents

- Index types
- Common dimensions.

Description

Index types.

Synopsis

- data Z = Z
- data tail :. head = !tail :. !head
- type DIM0 = Z
- type DIM1 = DIM0 :. Int
- type DIM2 = DIM1 :. Int
- type DIM3 = DIM2 :. Int
- type DIM4 = DIM3 :. Int
- type DIM5 = DIM4 :. Int
- ix1 :: Int -> DIM1
- ix2 :: Int -> Int -> DIM2
- ix3 :: Int -> Int -> Int -> DIM3
- ix4 :: Int -> Int -> Int -> Int -> DIM4
- ix5 :: Int -> Int -> Int -> Int -> Int -> DIM5

# Index types

data Z Source

An index of dimension zero

Constructors

Z |

Instances

Eq Z Source |
Ord Z Source |
Read Z Source |
Show Z Source |
Shape Z Source |
Slice Z Source |
Elt e => LoadRange D DIM2 e Source | Compute a range of elements in a rank-2 array.
Elt e => LoadRange C DIM2 e Source | Compute a range of elements in a rank-2 array.
Elt e => Load C DIM2 e Source | Compute all elements in an rank-2 array.
type SliceShape Z = Z Source |
type FullShape Z = Z Source |

data tail :. head infixl 3 Source

Our index type, used for both shapes and indices.

Constructors

!tail :. !head infixl 3 |

Instances

Elt e => LoadRange D DIM2 e Source | Compute a range of elements in a rank-2 array.
Elt e => LoadRange C DIM2 e Source | Compute a range of elements in a rank-2 array.
Elt e => Load C DIM2 e Source | Compute all elements in an rank-2 array.
(Eq tail, Eq head) => Eq ((:.) tail head) Source |
(Ord tail, Ord head) => Ord ((:.) tail head) Source |
(Read tail, Read head) => Read ((:.) tail head) Source |
(Show tail, Show head) => Show ((:.) tail head) Source |
Shape sh => Shape ((:.) sh Int) Source |
Slice sl => Slice ((:.) sl All) Source |
Slice sl => Slice ((:.) sl Int) Source |
type SliceShape ((:.) sl All) = (:.) (SliceShape sl) Int Source |
type SliceShape ((:.) sl Int) = SliceShape sl Source |
type FullShape ((:.) sl All) = (:.) (FullShape sl) Int Source |
type FullShape ((:.) sl Int) = (:.) (FullShape sl) Int Source |

# Common dimensions.

type DIM0 = Z Source

type DIM1 = DIM0 :. Int Source

type DIM2 = DIM1 :. Int Source

type DIM3 = DIM2 :. Int Source

type DIM4 = DIM3 :. Int Source

type DIM5 = DIM4 :. Int Source

ix1 :: Int -> DIM1 Source

Helper for index construction.

Use this instead of explicit constructors like `(Z :. (x :: Int))`. The this is sometimes needed to ensure that `x` is constrained to be in `Int`.

ix2 :: Int -> Int -> DIM2 Source

ix3 :: Int -> Int -> Int -> DIM3 Source

ix4 :: Int -> Int -> Int -> Int -> DIM4 Source

ix5 :: Int -> Int -> Int -> Int -> Int -> DIM5 Source