diff options
author | Tom Smeding <tom@tomsmeding.com> | 2024-12-11 19:56:28 +0100 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2024-12-11 19:57:12 +0100 |
commit | a3299c09e0fd12cf73c4a0a9a2ae37b8f69f9b10 (patch) | |
tree | 8f28f2cb8034530f20fc56265c64af1164b35776 /src/Data/Array/Nested/Internal/Ranked.hs | |
parent | 9570a94d331facc8961be204d7a3010d33146f97 (diff) |
Simpler API to mcast
Diffstat (limited to 'src/Data/Array/Nested/Internal/Ranked.hs')
-rw-r--r-- | src/Data/Array/Nested/Internal/Ranked.hs | 8 |
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 |