aboutsummaryrefslogtreecommitdiff
path: root/src/Data/Array/Nested/Internal/Ranked.hs
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2024-12-11 19:56:28 +0100
committerTom Smeding <tom@tomsmeding.com>2024-12-11 19:57:12 +0100
commita3299c09e0fd12cf73c4a0a9a2ae37b8f69f9b10 (patch)
tree8f28f2cb8034530f20fc56265c64af1164b35776 /src/Data/Array/Nested/Internal/Ranked.hs
parent9570a94d331facc8961be204d7a3010d33146f97 (diff)
Simpler API to mcast
Diffstat (limited to 'src/Data/Array/Nested/Internal/Ranked.hs')
-rw-r--r--src/Data/Array/Nested/Internal/Ranked.hs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/Data/Array/Nested/Internal/Ranked.hs b/src/Data/Array/Nested/Internal/Ranked.hs
index 1966270..ed89d82 100644
--- a/src/Data/Array/Nested/Internal/Ranked.hs
+++ b/src/Data/Array/Nested/Internal/Ranked.hs
@@ -120,7 +120,7 @@ instance Elt a => Elt (Ranked n a) where
@(NonEmpty (Mixed sh2 (Ranked n a))) $
mliftL ssh2 f (coerce l)
- mcast ssh1 sh2 psh' (M_Ranked arr) = M_Ranked (mcast ssh1 sh2 psh' arr)
+ mcastPartial ssh1 ssh2 psh' (M_Ranked arr) = M_Ranked (mcastPartial ssh1 ssh2 psh' arr)
mtranspose perm (M_Ranked arr) = M_Ranked (mtranspose perm arr)
@@ -523,10 +523,8 @@ rtoPrimitive (Ranked arr) = Ranked (toPrimitive arr)
mtoRanked :: forall sh a. Elt a => Mixed sh a -> Ranked (Rank sh) a
mtoRanked arr
- | Refl <- lemAppNil @sh
- , Refl <- lemAppNil @(Replicate (Rank sh) (Nothing @Nat))
- , Refl <- lemRankReplicate (shxRank (mshape arr))
- = Ranked (mcast (ssxFromShape (mshape arr)) (convSh (mshape arr)) (Proxy @'[]) arr)
+ | Refl <- lemRankReplicate (shxRank (mshape arr))
+ = Ranked (mcast (ssxFromShape (convSh (mshape arr))) arr)
where
convSh :: IShX sh' -> IShX (Replicate (Rank sh') Nothing)
convSh ZSX = ZSX