diff options
| author | Mikolaj Konarski <mikolaj.konarski@funktory.com> | 2026-02-10 11:48:45 +0100 |
|---|---|---|
| committer | Mikolaj Konarski <mikolaj.konarski@funktory.com> | 2026-02-18 14:19:28 +0100 |
| commit | f32fdfbe16ba5510e141d8540627b40e01dc49f5 (patch) | |
| tree | 2f927f1b1f16580f77d021c59f3a2947590146bb /src/Data/Array/Nested/Mixed.hs | |
| parent | d6fec1856d02e38fd64769284265bb833b57593d (diff) | |
Add mtoListPrimLinear and friends
Diffstat (limited to 'src/Data/Array/Nested/Mixed.hs')
| -rw-r--r-- | src/Data/Array/Nested/Mixed.hs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Data/Array/Nested/Mixed.hs b/src/Data/Array/Nested/Mixed.hs index 7510a4c..f4a2ec2 100644 --- a/src/Data/Array/Nested/Mixed.hs +++ b/src/Data/Array/Nested/Mixed.hs @@ -939,7 +939,13 @@ mtoList :: Elt a => Mixed '[n] a -> [a] mtoList = map munScalar . mtoListOuter mtoListLinear :: Elt a => Mixed sh a -> [a] -mtoListLinear arr = map (mindex arr) (shxEnum (mshape arr)) -- TODO: optimise +mtoListLinear arr = map (mindex arr) (shxEnum (mshape arr)) + +mtoListPrim :: PrimElt a => Mixed '[n] a -> [a] +mtoListPrim (toPrimitive -> M_Primitive _ arr) = X.toListLinear arr + +mtoListPrimLinear :: PrimElt a => Mixed sh a -> [a] +mtoListPrimLinear (toPrimitive -> M_Primitive _ arr) = X.toListLinear arr munScalar :: Elt a => Mixed '[] a -> a munScalar arr = mindex arr ZIX |
