| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Data.Array.Comfort.Shape
Synopsis
- class C sh where
- newtype ZeroBased n = ZeroBased {
- zeroBasedSize :: n
- newtype OneBased n = OneBased {
- oneBasedSize :: n
- data Range n = Range {}
- data Shifted n = Shifted {
- shiftedOffset, shiftedSize :: n
- data sh0 :+: sh1 = sh0 :+: sh1
Documentation
Minimal complete definition
indices, size, (sizeOffset | offset), inBounds
Methods
indices :: sh -> [Index sh] Source #
offset :: sh -> Index sh -> Int Source #
uncheckedOffset :: sh -> Index sh -> Int Source #
inBounds :: sh -> Index sh -> Bool Source #
uncheckedSize :: sh -> Int Source #
sizeOffset :: sh -> Index sh -> (Int, Int) Source #
uncheckedSizeOffset :: sh -> Index sh -> (Int, Int) Source #
Instances
ZeroBased denotes a range starting at zero and has a certain length.
Constructors
| ZeroBased | |
Fields
| |
Instances
| Eq n => Eq (ZeroBased n) Source # | |
| Show n => Show (ZeroBased n) Source # | |
| Integral n => C (ZeroBased n) Source # | |
Defined in Data.Array.Comfort.Shape Methods indices :: ZeroBased n -> [Index (ZeroBased n)] Source # offset :: ZeroBased n -> Index (ZeroBased n) -> Int Source # uncheckedOffset :: ZeroBased n -> Index (ZeroBased n) -> Int Source # inBounds :: ZeroBased n -> Index (ZeroBased n) -> Bool Source # size :: ZeroBased n -> Int Source # uncheckedSize :: ZeroBased n -> Int Source # sizeOffset :: ZeroBased n -> Index (ZeroBased n) -> (Int, Int) Source # uncheckedSizeOffset :: ZeroBased n -> Index (ZeroBased n) -> (Int, Int) Source # | |
| type Index (ZeroBased n) Source # | |
Defined in Data.Array.Comfort.Shape | |
OneBased denotes a range starting at one and has a certain length.
Constructors
| OneBased | |
Fields
| |
Instances
| Eq n => Eq (OneBased n) Source # | |
| Show n => Show (OneBased n) Source # | |
| Integral n => C (OneBased n) Source # | |
Defined in Data.Array.Comfort.Shape Methods indices :: OneBased n -> [Index (OneBased n)] Source # offset :: OneBased n -> Index (OneBased n) -> Int Source # uncheckedOffset :: OneBased n -> Index (OneBased n) -> Int Source # inBounds :: OneBased n -> Index (OneBased n) -> Bool Source # size :: OneBased n -> Int Source # uncheckedSize :: OneBased n -> Int Source # sizeOffset :: OneBased n -> Index (OneBased n) -> (Int, Int) Source # uncheckedSizeOffset :: OneBased n -> Index (OneBased n) -> (Int, Int) Source # | |
| type Index (OneBased n) Source # | |
Defined in Data.Array.Comfort.Shape | |
Range denotes an inclusive range like
those of the Haskell 98 standard Array type from the array package.
E.g. the shape type (Range Int32, Range Int64)
is equivalent to the ix type (Int32, Int64) for Arrays.
Instances
| Eq n => Eq (Range n) Source # | |
| Show n => Show (Range n) Source # | |
| Storable n => Storable (Range n) Source # | |
| Ix n => C (Range n) Source # | |
Defined in Data.Array.Comfort.Shape Methods indices :: Range n -> [Index (Range n)] Source # offset :: Range n -> Index (Range n) -> Int Source # uncheckedOffset :: Range n -> Index (Range n) -> Int Source # inBounds :: Range n -> Index (Range n) -> Bool Source # size :: Range n -> Int Source # uncheckedSize :: Range n -> Int Source # sizeOffset :: Range n -> Index (Range n) -> (Int, Int) Source # uncheckedSizeOffset :: Range n -> Index (Range n) -> (Int, Int) Source # | |
| type Index (Range n) Source # | |
Defined in Data.Array.Comfort.Shape | |
Shifted denotes a range defined by the start index and the length.
Constructors
| Shifted | |
Fields
| |
Instances
| Eq n => Eq (Shifted n) Source # | |
| Show n => Show (Shifted n) Source # | |
| Storable n => Storable (Shifted n) Source # | |
Defined in Data.Array.Comfort.Shape | |
| Integral n => C (Shifted n) Source # | |
Defined in Data.Array.Comfort.Shape Methods indices :: Shifted n -> [Index (Shifted n)] Source # offset :: Shifted n -> Index (Shifted n) -> Int Source # uncheckedOffset :: Shifted n -> Index (Shifted n) -> Int Source # inBounds :: Shifted n -> Index (Shifted n) -> Bool Source # size :: Shifted n -> Int Source # uncheckedSize :: Shifted n -> Int Source # sizeOffset :: Shifted n -> Index (Shifted n) -> (Int, Int) Source # uncheckedSizeOffset :: Shifted n -> Index (Shifted n) -> (Int, Int) Source # | |
| type Index (Shifted n) Source # | |
Defined in Data.Array.Comfort.Shape | |
data sh0 :+: sh1 infixr 5 Source #
Constructors
| sh0 :+: sh1 infixr 5 |
Instances
| (Eq sh0, Eq sh1) => Eq (sh0 :+: sh1) Source # | |
| (Show sh0, Show sh1) => Show (sh0 :+: sh1) Source # | |
| (C sh0, C sh1) => C (sh0 :+: sh1) Source # | |
Defined in Data.Array.Comfort.Shape Methods indices :: (sh0 :+: sh1) -> [Index (sh0 :+: sh1)] Source # offset :: (sh0 :+: sh1) -> Index (sh0 :+: sh1) -> Int Source # uncheckedOffset :: (sh0 :+: sh1) -> Index (sh0 :+: sh1) -> Int Source # inBounds :: (sh0 :+: sh1) -> Index (sh0 :+: sh1) -> Bool Source # size :: (sh0 :+: sh1) -> Int Source # uncheckedSize :: (sh0 :+: sh1) -> Int Source # sizeOffset :: (sh0 :+: sh1) -> Index (sh0 :+: sh1) -> (Int, Int) Source # uncheckedSizeOffset :: (sh0 :+: sh1) -> Index (sh0 :+: sh1) -> (Int, Int) Source # | |
| type Index (sh0 :+: sh1) Source # | |