diff options
author | Tom Smeding <tom@tomsmeding.com> | 2024-11-22 18:54:01 +0100 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2024-11-22 18:54:01 +0100 |
commit | dd21ebafeeeb2abc222b3525e136d4ba6a769176 (patch) | |
tree | 0fa92b45ae5dee11f8e8bbf40d84ffec05aaa059 /src/Data/Array/Nested/Internal/Shaped.hs | |
parent | 03b7cea970d0840a913b6e64a9439fb115dea8d0 (diff) |
[mrs]{un,}zipsingletons
Diffstat (limited to 'src/Data/Array/Nested/Internal/Shaped.hs')
-rw-r--r-- | src/Data/Array/Nested/Internal/Shaped.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Data/Array/Nested/Internal/Shaped.hs b/src/Data/Array/Nested/Internal/Shaped.hs index 228d800..5d3eba1 100644 --- a/src/Data/Array/Nested/Internal/Shaped.hs +++ b/src/Data/Array/Nested/Internal/Shaped.hs @@ -376,6 +376,12 @@ sunNest sarr@(Shaped (M_Shaped (M_Nest _ arr))) | Refl <- lemMapJustApp (sshape sarr) (Proxy @sh') = Shaped arr +szip :: Shaped sh a -> Shaped sh b -> Shaped sh (a, b) +szip = coerce mzip + +sunzip :: Shaped sh (a, b) -> (Shaped sh a, Shaped sh b) +sunzip = coerce munzip + srerankP :: forall sh1 sh2 sh a b. (Storable a, Storable b) => ShS sh -> ShS sh2 -> (Shaped sh1 (Primitive a) -> Shaped sh2 (Primitive b)) |