From bb1deceb98b4c7bfcd35372e0289566cb593d8a9 Mon Sep 17 00:00:00 2001 From: Mikolaj Konarski Date: Thu, 15 Jan 2026 21:30:26 +0100 Subject: Speed up sumFull from 36ms to 82 microseconds --- src/Data/Array/XArray.hs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src') diff --git a/src/Data/Array/XArray.hs b/src/Data/Array/XArray.hs index 38ccee6..4f5bb08 100644 --- a/src/Data/Array/XArray.hs +++ b/src/Data/Array/XArray.hs @@ -269,11 +269,7 @@ transpose2 ssh1 ssh2 (XArray arr) = XArray (S.transpose (ssxIotaFrom ssh2 n1 ++ ssxIotaFrom ssh1 0) arr) sumFull :: (Storable a, NumElt a) => StaticShX sh -> XArray sh a -> a -sumFull _ (XArray arr) = - S.unScalar $ - liftO1 (numEltSum1Inner (SNat @0)) $ - S.fromVector [product (S.shapeL arr)] $ - S.toVector arr +sumFull ssx (XArray arr) = numEltSumFull (ssxRank ssx) $ fromO arr sumInner :: forall sh sh' a. (Storable a, NumElt a) => StaticShX sh -> StaticShX sh' -> XArray (sh ++ sh') a -> XArray sh a -- cgit v1.2.3-70-g09d2