From 9f47aa6a2bcd772388a5d5150ca7254e4eb95bc2 Mon Sep 17 00:00:00 2001 From: Mikolaj Konarski Date: Tue, 2 Dec 2025 13:16:33 +0100 Subject: Generalize mgeneratePrim 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 9504247..37925fb 100644 --- a/src/Data/Array/Nested/Ranked.hs +++ b/src/Data/Array/Nested/Ranked.hs @@ -71,7 +71,9 @@ rgenerate sh f -- TODO: this would be shorter and faster written with rfromVector, -- but unfortunately we don't have ixrFromLinear -rgeneratePrim :: forall n a. PrimElt a => IShR n -> (IIxR n -> a) -> Ranked n a +{-# INLINE rgeneratePrim #-} +rgeneratePrim :: forall n a i. (PrimElt a, Num i) + => IShR n -> (IxR n i -> a) -> Ranked n a rgeneratePrim sh f | sn@SNat <- shrRank sh , Dict <- lemKnownReplicate sn -- cgit v1.2.3-70-g09d2