aboutsummaryrefslogtreecommitdiff
path: root/src/Data/Array/Nested/Internal
diff options
context:
space:
mode:
Diffstat (limited to 'src/Data/Array/Nested/Internal')
-rw-r--r--src/Data/Array/Nested/Internal/Ranked.hs3
-rw-r--r--src/Data/Array/Nested/Internal/Shaped.hs3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/Data/Array/Nested/Internal/Ranked.hs b/src/Data/Array/Nested/Internal/Ranked.hs
index 735d1a3..ffa1cea 100644
--- a/src/Data/Array/Nested/Internal/Ranked.hs
+++ b/src/Data/Array/Nested/Internal/Ranked.hs
@@ -524,3 +524,6 @@ mtoRanked arr
convSh (smn :$% (sh :: IShX sh'T))
| Refl <- lemReplicateSucc @(Nothing @Nat) @(Rank sh'T)
= SUnknown (fromSMayNat' smn) :$% convSh sh
+
+rtoMixed :: forall n a. Elt a => Ranked n a -> Mixed (Replicate n Nothing) a
+rtoMixed (Ranked arr) = arr
diff --git a/src/Data/Array/Nested/Internal/Shaped.hs b/src/Data/Array/Nested/Internal/Shaped.hs
index 995507f..023f96c 100644
--- a/src/Data/Array/Nested/Internal/Shaped.hs
+++ b/src/Data/Array/Nested/Internal/Shaped.hs
@@ -459,3 +459,6 @@ mcastToShaped arr targetsh
, Refl <- lemAppNil @(MapJust sh')
, Refl <- lemRankMapJust targetsh
= Shaped (mcast (ssxFromShape (mshape arr)) (shCvtSX targetsh) (Proxy @'[]) arr)
+
+stoMixed :: forall sh a. Shaped sh a -> Mixed (MapJust sh) a
+stoMixed (Shaped arr) = arr