Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Class of types that can be used as array shapes and indices.
Synopsis
- class Eq sh => Shape sh where
- rank :: sh -> Int
- zeroDim :: sh
- unitDim :: sh
- intersectDim :: sh -> sh -> sh
- addDim :: sh -> sh -> sh
- size :: sh -> Int
- sizeIsValid :: sh -> Bool
- toIndex :: sh -> sh -> Int
- fromIndex :: sh -> Int -> sh
- inShapeRange :: sh -> sh -> sh -> Bool
- listOfShape :: sh -> [Int]
- shapeOfList :: [Int] -> sh
- deepSeq :: sh -> a -> a
- inShape :: forall sh. Shape sh => sh -> sh -> Bool
- showShape :: Shape sh => sh -> String
Documentation
class Eq sh => Shape sh where Source #
Class of types that can be used as array shapes and indices.
Get the number of dimensions in a shape.
The shape of an array of size zero, with a particular dimensionality.
The shape of an array with size one, with a particular dimensionality.
intersectDim :: sh -> sh -> sh Source #
Compute the intersection of two shapes.
addDim :: sh -> sh -> sh Source #
Add the coordinates of two shapes componentwise
Get the total number of elements in an array with this shape.
sizeIsValid :: sh -> Bool Source #
Check whether this shape is small enough so that its flat
indices an be represented as Int
. If this returns False
then your
array is too big. Mostly used for writing QuickCheck tests.
:: sh | Shape of the array. |
-> sh | Index into the array. |
-> Int |
Convert an index into its equivalent flat, linear, row-major version.
:: sh | Shape of the array. |
-> Int | Index into linear representation. |
-> sh |
Inverse of toIndex
.
:: sh | Start index for range. |
-> sh | Final index for range. |
-> sh | Index to check for. |
-> Bool |
Check whether an index is within a given shape.
listOfShape :: sh -> [Int] Source #
Convert a shape into its list of dimensions.
shapeOfList :: [Int] -> sh Source #
Convert a list of dimensions to a shape
deepSeq :: sh -> a -> a infixr 0 Source #
Ensure that a shape is completely evaluated.
Instances
Shape Z Source # | |
Defined in Data.Array.Repa.Index | |
Shape sh => Shape (sh :. Int) Source # | |
Defined in Data.Array.Repa.Index rank :: (sh :. Int) -> Int Source # intersectDim :: (sh :. Int) -> (sh :. Int) -> sh :. Int Source # addDim :: (sh :. Int) -> (sh :. Int) -> sh :. Int Source # size :: (sh :. Int) -> Int Source # sizeIsValid :: (sh :. Int) -> Bool Source # toIndex :: (sh :. Int) -> (sh :. Int) -> Int Source # fromIndex :: (sh :. Int) -> Int -> sh :. Int Source # inShapeRange :: (sh :. Int) -> (sh :. Int) -> (sh :. Int) -> Bool Source # listOfShape :: (sh :. Int) -> [Int] Source # |
Check whether an index is a part of a given shape.