From a7b64fe342524e82194d73af852b5f2f1bc5bab3 Mon Sep 17 00:00:00 2001 From: Mikolaj Konarski Date: Tue, 2 Dec 2025 14:19:04 +0100 Subject: Generalize also mgenerate to potentially avoid @fmap fromIntegral@ --- src/Data/Array/Nested/Ranked.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Data/Array/Nested/Ranked.hs') diff --git a/src/Data/Array/Nested/Ranked.hs b/src/Data/Array/Nested/Ranked.hs index 37925fb..22ca117 100644 --- a/src/Data/Array/Nested/Ranked.hs +++ b/src/Data/Array/Nested/Ranked.hs @@ -62,7 +62,9 @@ rindexPartial (Ranked arr) idx = -- | __WARNING__: All values returned from the function must have equal shape. -- See the documentation of 'mgenerate' for more details. -rgenerate :: forall n a. KnownElt a => IShR n -> (IIxR n -> a) -> Ranked n a +{-# INLINEABLE rgenerate #-} +rgenerate :: forall n a i. (KnownElt a, Integral i) + => IShR n -> (IxR n i -> a) -> Ranked n a rgenerate sh f | sn@SNat <- shrRank sh , Dict <- lemKnownReplicate sn -- cgit v1.2.3-70-g09d2