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
data Z
An index of dimension zero
data tail :. head infixl 3
Our index type, used for both shapes and indices.
!tail :. !head infixl 3 |
Elt e => LoadRange D DIM2 e | Compute a range of elements in a rank-2 array. |
Elt e => LoadRange C DIM2 e | Compute a range of elements in a rank-2 array. |
Elt e => Load C DIM2 e | Compute all elements in an rank-2 array. |
(Eq tail, Eq head) => Eq ((:.) tail head) | |
(Ord tail, Ord head) => Ord ((:.) tail head) | |
(Read tail, Read head) => Read ((:.) tail head) | |
(Show tail, Show head) => Show ((:.) tail head) | |
Shape sh => Shape ((:.) sh Int) | |
Slice sl => Slice ((:.) sl All) | |
Slice sl => Slice ((:.) sl Int) | |
type SliceShape ((:.) sl All) = (:.) (SliceShape sl) Int | |
type SliceShape ((:.) sl Int) = SliceShape sl | |
type FullShape ((:.) sl All) = (:.) (FullShape sl) Int | |
type FullShape ((:.) sl Int) = (:.) (FullShape sl) Int |
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
.