diff options
Diffstat (limited to 'src/Array.hs')
-rw-r--r-- | src/Array.hs | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Array.hs b/src/Array.hs index c939419..8507544 100644 --- a/src/Array.hs +++ b/src/Array.hs @@ -45,6 +45,9 @@ emptyShape :: SNat n -> Shape n emptyShape SZ = ShNil emptyShape (SS m) = emptyShape m `ShCons` 0 +enumShape :: Shape n -> [Index n] +enumShape sh = map (fromLinearIndex sh) [0 .. shapeSize sh - 1] + -- | TODO: this Vector is a boxed vector, which is horrendously inefficient. data Array (n :: Nat) t = Array (Shape n) (Vector t) |