diff options
Diffstat (limited to 'src/Array.hs')
-rw-r--r-- | src/Array.hs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Array.hs b/src/Array.hs index ef9bb8d..82c3f31 100644 --- a/src/Array.hs +++ b/src/Array.hs @@ -41,6 +41,10 @@ shapeSize :: Shape n -> Int shapeSize ShNil = 1 shapeSize (ShCons sh n) = shapeSize sh * n +shapeRank :: Shape n -> SNat n +shapeRank ShNil = SZ +shapeRank (sh `ShCons` _) = SS (shapeRank sh) + fromLinearIndex :: Shape n -> Int -> Index n fromLinearIndex ShNil 0 = IxNil fromLinearIndex ShNil _ = error "Index out of range" |