Safe Haskell | None |
---|---|
Language | Haskell98 |
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
An index of dimension zero
Instances
Eq Z # | |
Ord Z # | |
Read Z # | |
Show Z # | |
Arbitrary Z # | This module exports instances of |
CoArbitrary Z # | |
Defined in Data.Array.Repa.Arbitrary coarbitrary :: Z -> Gen b -> Gen b # | |
Shape Z # | |
Defined in Data.Array.Repa.Index intersectDim :: Z -> Z -> Z # sizeIsValid :: Z -> Bool # inShapeRange :: Z -> Z -> Z -> Bool # listOfShape :: Z -> [Int] # shapeOfList :: [Int] -> Z # | |
Slice Z # | |
Defined in Data.Array.Repa.Slice sliceOfFull :: Z -> FullShape Z -> SliceShape Z # fullOfSlice :: Z -> SliceShape Z -> FullShape Z # | |
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. |
type SliceShape Z # | |
Defined in Data.Array.Repa.Slice | |
type FullShape Z # | |
Defined in Data.Array.Repa.Slice |
Our index type, used for both shapes and indices.
!tail :. !head infixl 3 |
Instances
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) # | |
Defined in Data.Array.Repa.Index compare :: (tail :. head) -> (tail :. head) -> Ordering # (<) :: (tail :. head) -> (tail :. head) -> Bool # (<=) :: (tail :. head) -> (tail :. head) -> Bool # (>) :: (tail :. head) -> (tail :. head) -> Bool # (>=) :: (tail :. head) -> (tail :. head) -> Bool # | |
(Read tail, Read head) => Read (tail :. head) # | |
(Show tail, Show head) => Show (tail :. head) # | |
Arbitrary a => Arbitrary (a :. Int) # | |
CoArbitrary a => CoArbitrary (a :. Int) # | |
Defined in Data.Array.Repa.Arbitrary | |
Shape sh => Shape (sh :. Int) # | |
Defined in Data.Array.Repa.Index intersectDim :: (sh :. Int) -> (sh :. Int) -> sh :. Int # addDim :: (sh :. Int) -> (sh :. Int) -> sh :. Int # sizeIsValid :: (sh :. Int) -> Bool # toIndex :: (sh :. Int) -> (sh :. Int) -> Int # fromIndex :: (sh :. Int) -> Int -> sh :. Int # inShapeRange :: (sh :. Int) -> (sh :. Int) -> (sh :. Int) -> Bool # listOfShape :: (sh :. Int) -> [Int] # shapeOfList :: [Int] -> sh :. Int # | |
Slice sl => Slice (sl :. All) # | |
Defined in Data.Array.Repa.Slice sliceOfFull :: (sl :. All) -> FullShape (sl :. All) -> SliceShape (sl :. All) # fullOfSlice :: (sl :. All) -> SliceShape (sl :. All) -> FullShape (sl :. All) # | |
Slice sl => Slice (sl :. Int) # | |
Defined in Data.Array.Repa.Slice sliceOfFull :: (sl :. Int) -> FullShape (sl :. Int) -> SliceShape (sl :. Int) # fullOfSlice :: (sl :. Int) -> SliceShape (sl :. Int) -> FullShape (sl :. Int) # | |
type SliceShape (sl :. All) # | |
Defined in Data.Array.Repa.Slice | |
type SliceShape (sl :. Int) # | |
Defined in Data.Array.Repa.Slice | |
type FullShape (sl :. All) # | |
type 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
.