diff options
author | Mikolaj Konarski <mikolaj.konarski@funktory.com> | 2025-05-16 13:42:47 +0200 |
---|---|---|
committer | Mikolaj Konarski <mikolaj.konarski@funktory.com> | 2025-05-16 13:42:47 +0200 |
commit | 5c926beb1aeed724787812c35a70c5ae362bc1f7 (patch) | |
tree | e6f1501025268ffa8629aebd6eb5ce0f4e67cdc7 /src/Data/Array/Nested/Ranked/Shape.hs | |
parent | f969fb5d6172761a2148221b68a0384b53368f8c (diff) |
Generalize some shape conversion functions
Diffstat (limited to 'src/Data/Array/Nested/Ranked/Shape.hs')
-rw-r--r-- | src/Data/Array/Nested/Ranked/Shape.hs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/Data/Array/Nested/Ranked/Shape.hs b/src/Data/Array/Nested/Ranked/Shape.hs index 8f54673..aa89d88 100644 --- a/src/Data/Array/Nested/Ranked/Shape.hs +++ b/src/Data/Array/Nested/Ranked/Shape.hs @@ -213,14 +213,14 @@ ixrZero :: SNat n -> IIxR n ixrZero SZ = ZIR ixrZero (SS n) = 0 :.: ixrZero n -ixrFromIxX :: IIxX sh -> IIxR (Rank sh) +ixrFromIxX :: IxX sh i -> IxR (Rank sh) i ixrFromIxX ZIX = ZIR ixrFromIxX (n :.% idx) = n :.: ixrFromIxX idx -ixxFromIxR :: IIxR n -> IIxX (Replicate n Nothing) +ixxFromIxR :: IxR n i -> IxX (Replicate n Nothing) i ixxFromIxR ZIR = ZIX -ixxFromIxR (n :.: (idx :: IxR m Int)) = - castWith (subst2 @IxX @Int (lemReplicateSucc @(Nothing @Nat) @m)) +ixxFromIxR (n :.: (idx :: IxR m i)) = + castWith (subst2 @IxX @i (lemReplicateSucc @(Nothing @Nat) @m)) (n :.% ixxFromIxR idx) ixrHead :: IxR (n + 1) i -> i @@ -288,10 +288,10 @@ shrFromShX2 sh | Refl <- lemRankReplicate (Proxy @n) = shrFromShX sh -shxFromShR :: IShR n -> IShX (Replicate n Nothing) +shxFromShR :: ShR n i -> ShX (Replicate n Nothing) i shxFromShR ZSR = ZSX -shxFromShR (n :$: (idx :: ShR m Int)) = - castWith (subst2 @ShX @Int (lemReplicateSucc @(Nothing @Nat) @m)) +shxFromShR (n :$: (idx :: ShR m i)) = + castWith (subst2 @ShX @i (lemReplicateSucc @(Nothing @Nat) @m)) (SUnknown n :$% shxFromShR idx) -- | This checks only whether the ranks are equal, not whether the actual |