diff options
| -rw-r--r-- | src/Data/Array/Mixed.hs | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/src/Data/Array/Mixed.hs b/src/Data/Array/Mixed.hs index 080c458..d61969f 100644 --- a/src/Data/Array/Mixed.hs +++ b/src/Data/Array/Mixed.hs @@ -817,8 +817,12 @@ transpose2 ssh1 ssh2 (XArray arr)    , let n1 = ssxLength ssh1    = XArray (S.transpose (ssxIotaFrom n1 ssh2 ++ ssxIotaFrom 0 ssh1) arr) -sumFull :: (Storable a, Num a) => XArray sh a -> a -sumFull (XArray arr) = S.sumA arr +sumFull :: (Storable a, NumElt a) => XArray sh a -> a +sumFull (XArray arr) = +  S.unScalar $ +    numEltSum1Inner (SNat @0) $ +      S.fromVector [product (S.shapeL arr)] $ +        S.toVector arr  sumInner :: forall sh sh' a. (Storable a, NumElt a)           => StaticShX sh -> StaticShX sh' -> XArray (sh ++ sh') a -> XArray sh a | 
