Safe Haskell | None |
---|---|
Language | Haskell98 |
Index types.
- 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
An index of dimension zero
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 Source # | |
type FullShape Z Source # | |
data tail :. head infixl 3 Source #
Our index type, used for both shapes and indices.
!tail :. !head infixl 3 |
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 head, Eq tail) => Eq ((:.) tail head) Source # | |
(Ord head, Ord tail) => Ord ((:.) tail head) Source # | |
(Read head, Read tail) => Read ((:.) tail head) Source # | |
(Show head, Show tail) => 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) Source # | |
type SliceShape ((:.) sl Int) Source # | |
type FullShape ((:.) sl All) Source # | |
type FullShape ((:.) sl Int) Source # | |
Common dimensions.
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
.