diff options
-rw-r--r-- | bench/Main.hs | 16 | ||||
-rw-r--r-- | src/Data/Array/Mixed/Lemmas.hs | 2 | ||||
-rw-r--r-- | src/Data/Array/Mixed/Shape.hs | 6 | ||||
-rw-r--r-- | src/Data/Array/Mixed/Types.hs | 2 | ||||
-rw-r--r-- | src/Data/Array/Mixed/XArray.hs | 8 | ||||
-rw-r--r-- | src/Data/Array/Nested/Internal/Mixed.hs | 10 | ||||
-rw-r--r-- | src/Data/Array/Nested/Internal/Ranked.hs | 4 | ||||
-rw-r--r-- | src/Data/Array/Nested/Internal/Shape.hs | 6 | ||||
-rw-r--r-- | src/Data/Array/Nested/Internal/Shaped.hs | 4 | ||||
-rw-r--r-- | test/Tests/C.hs | 6 |
10 files changed, 32 insertions, 32 deletions
diff --git a/bench/Main.hs b/bench/Main.hs index 45c1129..5901d8b 100644 --- a/bench/Main.hs +++ b/bench/Main.hs @@ -15,7 +15,7 @@ import Numeric.LinearAlgebra qualified as LA import Test.Tasty.Bench import Text.Show (showListWith) -import Data.Array.Mixed.XArray (XArray (..)) +import Data.Array.Mixed.XArray (XArray(..)) import Data.Array.Nested import Data.Array.Nested.Internal.Mixed (Mixed (M_Primitive), mliftPrim, mliftPrim2, toPrimitive) import Data.Array.Nested.Internal.Ranked (liftRanked1, liftRanked2) @@ -97,11 +97,11 @@ main_tests = defaultMain ,bgroup "orthotope" [bench "normalize [1e6]" $ let n = 1_000_000 - in nf RS.normalize + in nf (\a -> RS.normalize a) (RS.rev [0] (RS.iota @Double n)) ,bench "normalize noop [1e6]" $ let n = 1_000_000 - in nf RS.normalize + in nf (\a -> RS.normalize a) (RS.rev [0] (RS.rev [0] (RS.iota @Double n))) ] ,bgroupIf enableMisc "misc" @@ -120,14 +120,14 @@ main_tests = defaultMain [bench ("LA.vjoin [500]*1e" ++ show ni) $ let n = 10 ^ ni k = 500 - in nf LA.vjoin + in nf (\as -> LA.vjoin as) (replicate n (VS.enumFromTo (1::Int) k)) | ni <- [1::Int ..5]] ,bgroup "vectorStorable" [bench ("VS.concat [500]*1e" ++ show ni) $ let n = 10 ^ ni k = 500 - in nf VS.concat + in nf (\as -> VS.concat as) (replicate n (VS.enumFromTo (1::Int) k)) | ni <- [1::Int ..5]] ] @@ -136,14 +136,14 @@ main_tests = defaultMain [bench ("LA.vjoin [1e" ++ show ki ++ "]*500") $ let n = 500 k = 10 ^ ki - in nf LA.vjoin + in nf (\as -> LA.vjoin as) (replicate n (VS.enumFromTo (1::Int) k)) | ki <- [1::Int ..5]] ,bgroup "vectorStorable" [bench ("VS.concat [1e" ++ show ki ++ "]*500") $ let n = 500 k = 10 ^ ki - in nf VS.concat + in nf (\as -> VS.concat as) (replicate n (VS.enumFromTo (1::Int) k)) | ki <- [1::Int ..5]] ] @@ -230,7 +230,7 @@ tests_compare = nf (\a -> LA.sumElements (sin a)) (LA.linspace @Double n (0.0, fromIntegral (n - 1))) ,bench "sum Double [1e6]" $ - nf LA.sumElements + nf (\a -> LA.sumElements a) (LA.linspace @Double n (0.0, fromIntegral (n - 1))) ,bench "dotprod Float [1e6]" $ nf (\(a, b) -> a LA.<.> b) diff --git a/src/Data/Array/Mixed/Lemmas.hs b/src/Data/Array/Mixed/Lemmas.hs index ec7e7bd..560f762 100644 --- a/src/Data/Array/Mixed/Lemmas.hs +++ b/src/Data/Array/Mixed/Lemmas.hs @@ -30,7 +30,7 @@ subst2 Refl = Refl -- ** Nat -lemLeqSuccSucc :: (k + 1 <= n) => Proxy k -> Proxy n -> (k <=? n - 1) :~: True +lemLeqSuccSucc :: k + 1 <= n => Proxy k -> Proxy n -> (k <=? n - 1) :~: True lemLeqSuccSucc _ _ = unsafeCoerceRefl lemLeqPlus :: n <= m => Proxy n -> Proxy m -> Proxy k -> (n <=? (m + k)) :~: 'True diff --git a/src/Data/Array/Mixed/Shape.hs b/src/Data/Array/Mixed/Shape.hs index 3f1f58e..eb8434f 100644 --- a/src/Data/Array/Mixed/Shape.hs +++ b/src/Data/Array/Mixed/Shape.hs @@ -22,14 +22,14 @@ {-# OPTIONS_GHC -fplugin GHC.TypeLits.KnownNat.Solver #-} module Data.Array.Mixed.Shape where -import Control.DeepSeq (NFData (..)) +import Control.DeepSeq (NFData(..)) import Data.Bifunctor (first) import Data.Coerce import Data.Foldable qualified as Foldable import Data.Functor.Const import Data.Functor.Product import Data.Kind (Constraint, Type) -import Data.Monoid (Sum (..)) +import Data.Monoid (Sum(..)) import Data.Proxy import Data.Type.Equality import GHC.Exts (withDict) @@ -557,7 +557,7 @@ instance (KnownNat n, KnownShX sh) => KnownShX (Just n : sh) where knownShX = SK instance KnownShX sh => KnownShX (Nothing : sh) where knownShX = SUnknown () :!% knownShX withKnownShX :: forall sh r. StaticShX sh -> (KnownShX sh => r) -> r -withKnownShX = withDict @(KnownShX sh) +withKnownShX k = withDict @(KnownShX sh) k -- * Flattening diff --git a/src/Data/Array/Mixed/Types.hs b/src/Data/Array/Mixed/Types.hs index e97690f..3f5b1e7 100644 --- a/src/Data/Array/Mixed/Types.hs +++ b/src/Data/Array/Mixed/Types.hs @@ -54,7 +54,7 @@ sameNat' :: SNat n -> SNat m -> Maybe (n :~: m) sameNat' n@SNat m@SNat = sameNat n m pattern SZ :: () => (n ~ 0) => SNat n -pattern SZ <- (\sn -> testEquality sn (SNat @0) -> Just Refl) +pattern SZ <- ((\sn -> testEquality sn (SNat @0)) -> Just Refl) where SZ = SNat pattern SS :: forall np1. () => forall n. (n + 1 ~ np1) => SNat n -> SNat np1 diff --git a/src/Data/Array/Mixed/XArray.hs b/src/Data/Array/Mixed/XArray.hs index 681b8db..cb790e1 100644 --- a/src/Data/Array/Mixed/XArray.hs +++ b/src/Data/Array/Mixed/XArray.hs @@ -168,7 +168,7 @@ rerank :: forall sh sh1 sh2 a b. rerank ssh ssh1 ssh2 f xarr@(XArray arr) | Dict <- lemKnownNatRankSSX (ssxAppend ssh ssh2) = let (sh, _) = shxSplitApp (Proxy @sh1) ssh (shape (ssxAppend ssh ssh1) xarr) - in if elem 0 (shxToList sh) + in if 0 `elem` shxToList sh then XArray (S.fromList (shxToList (shxAppend sh (shxCompleteZeros ssh2))) []) else case () of () | Dict <- lemKnownNatRankSSX ssh @@ -195,7 +195,7 @@ rerank2 :: forall sh sh1 sh2 a b c. rerank2 ssh ssh1 ssh2 f xarr1@(XArray arr1) (XArray arr2) | Dict <- lemKnownNatRankSSX (ssxAppend ssh ssh2) = let (sh, _) = shxSplitApp (Proxy @sh1) ssh (shape (ssxAppend ssh ssh1) xarr1) - in if elem 0 (shxToList sh) + in if 0 `elem` shxToList sh then XArray (S.fromList (shxToList (shxAppend sh (shxCompleteZeros ssh2))) []) else case () of () | Dict <- lemKnownNatRankSSX ssh @@ -269,7 +269,7 @@ sumInner ssh ssh' arr in go $ transpose2 ssh'F ssh $ reshapePartial ssh' ssh sh'F $ - transpose2 ssh ssh' + transpose2 ssh ssh' $ arr sumOuter :: forall sh sh' a. (Storable a, NumElt a) @@ -280,7 +280,7 @@ sumOuter ssh ssh' arr shF = shxFlatten sh :$% ZSX in sumInner ssh' (ssxFromShape shF) $ transpose2 (ssxFromShape shF) ssh' $ - reshapePartial ssh ssh' shF + reshapePartial ssh ssh' shF $ arr fromListOuter :: forall n sh a. Storable a diff --git a/src/Data/Array/Nested/Internal/Mixed.hs b/src/Data/Array/Nested/Internal/Mixed.hs index 4271526..a2f9737 100644 --- a/src/Data/Array/Nested/Internal/Mixed.hs +++ b/src/Data/Array/Nested/Internal/Mixed.hs @@ -20,7 +20,7 @@ module Data.Array.Nested.Internal.Mixed where import Prelude hiding (mconcat) -import Control.DeepSeq (NFData (..)) +import Control.DeepSeq (NFData(..)) import Control.Monad (forM_, when) import Control.Monad.ST import Data.Array.RankedS qualified as S @@ -29,7 +29,7 @@ import Data.Coerce import Data.Foldable (toList) import Data.Int import Data.Kind (Constraint, Type) -import Data.List.NonEmpty (NonEmpty (..)) +import Data.List.NonEmpty (NonEmpty(..)) import Data.List.NonEmpty qualified as NE import Data.Proxy import Data.Type.Equality @@ -47,7 +47,7 @@ import Data.Array.Mixed.Lemmas import Data.Array.Mixed.Permutation import Data.Array.Mixed.Shape import Data.Array.Mixed.Types -import Data.Array.Mixed.XArray (XArray (..)) +import Data.Array.Mixed.XArray (XArray(..)) import Data.Array.Mixed.XArray qualified as X import Data.Bag @@ -543,7 +543,7 @@ instance Elt a => Elt (Mixed sh' a) where = fst (shxSplitApp (Proxy @sh') (ssxFromShape sh) (mshape arr)) mindex :: Mixed sh (Mixed sh' a) -> IIxX sh -> Mixed sh' a - mindex (M_Nest _ arr) = mindexPartial arr + mindex (M_Nest _ arr) i = mindexPartial arr i mindexPartial :: forall sh1 sh2. Mixed (sh1 ++ sh2) (Mixed sh' a) -> IIxX sh1 -> Mixed sh2 (Mixed sh' a) @@ -858,7 +858,7 @@ msliceU :: Elt a => Int -> Int -> Mixed (Nothing : sh) a -> Mixed (Nothing : sh) msliceU i n arr = mlift (ssxFromShape (mshape arr)) (\_ -> X.sliceU i n) arr mrev1 :: Elt a => Mixed (n : sh) a -> Mixed (n : sh) a -mrev1 arr = mlift (ssxFromShape (mshape arr)) (const X.rev1) arr +mrev1 arr = mlift (ssxFromShape (mshape arr)) (\_ -> X.rev1) arr mreshape :: forall sh sh' a. Elt a => IShX sh' -> Mixed sh a -> Mixed sh' a mreshape sh' arr = diff --git a/src/Data/Array/Nested/Internal/Ranked.hs b/src/Data/Array/Nested/Internal/Ranked.hs index 3bd4581..daf0374 100644 --- a/src/Data/Array/Nested/Internal/Ranked.hs +++ b/src/Data/Array/Nested/Internal/Ranked.hs @@ -21,7 +21,7 @@ module Data.Array.Nested.Internal.Ranked where import Prelude hiding (mappend, mconcat) -import Control.DeepSeq (NFData (..)) +import Control.DeepSeq (NFData(..)) import Control.Monad.ST import Data.Array.RankedS qualified as S import Data.Bifunctor (first) @@ -42,7 +42,7 @@ import Data.Array.Mixed.Lemmas import Data.Array.Mixed.Permutation import Data.Array.Mixed.Shape import Data.Array.Mixed.Types -import Data.Array.Mixed.XArray (XArray (..)) +import Data.Array.Mixed.XArray (XArray(..)) import Data.Array.Mixed.XArray qualified as X import Data.Array.Nested.Internal.Mixed import Data.Array.Nested.Internal.Shape diff --git a/src/Data/Array/Nested/Internal/Shape.hs b/src/Data/Array/Nested/Internal/Shape.hs index c877412..1770e38 100644 --- a/src/Data/Array/Nested/Internal/Shape.hs +++ b/src/Data/Array/Nested/Internal/Shape.hs @@ -26,7 +26,7 @@ {-# OPTIONS_GHC -fplugin GHC.TypeLits.KnownNat.Solver #-} module Data.Array.Nested.Internal.Shape where -import Control.DeepSeq (NFData (..)) +import Control.DeepSeq (NFData(..)) import Data.Array.Mixed.Types import Data.Array.Shape qualified as O import Data.Coerce (coerce) @@ -34,7 +34,7 @@ import Data.Foldable qualified as Foldable import Data.Functor.Const import Data.Functor.Product qualified as Fun import Data.Kind (Constraint, Type) -import Data.Monoid (Sum (..)) +import Data.Monoid (Sum(..)) import Data.Proxy import Data.Type.Equality import GHC.Exts (withDict) @@ -686,7 +686,7 @@ instance KnownShS '[] where knownShS = ZSS instance (KnownNat n, KnownShS sh) => KnownShS (n : sh) where knownShS = natSing :$$ knownShS withKnownShS :: forall sh r. ShS sh -> (KnownShS sh => r) -> r -withKnownShS = withDict @(KnownShS sh) +withKnownShS k = withDict @(KnownShS sh) k shsKnownShS :: ShS sh -> Dict KnownShS sh shsKnownShS ZSS = Dict diff --git a/src/Data/Array/Nested/Internal/Shaped.hs b/src/Data/Array/Nested/Internal/Shaped.hs index 3bdbac2..372439f 100644 --- a/src/Data/Array/Nested/Internal/Shaped.hs +++ b/src/Data/Array/Nested/Internal/Shaped.hs @@ -20,7 +20,7 @@ module Data.Array.Nested.Internal.Shaped where import Prelude hiding (mappend, mconcat) -import Control.DeepSeq (NFData (..)) +import Control.DeepSeq (NFData(..)) import Control.Monad.ST import Data.Array.Internal.RankedG qualified as RG import Data.Array.Internal.RankedS qualified as RS @@ -422,7 +422,7 @@ sslice i n@SNat arr = in slift (n :$$ sh) (\_ -> X.slice i n) arr srev1 :: Elt a => Shaped (n : sh) a -> Shaped (n : sh) a -srev1 arr = slift (sshape arr) (const X.rev1) arr +srev1 arr = slift (sshape arr) (\_ -> X.rev1) arr sreshape :: (Elt a, Product sh ~ Product sh') => ShS sh' -> Shaped sh a -> Shaped sh' a sreshape sh' (Shaped arr) = Shaped (mreshape (shCvtSX sh') arr) diff --git a/test/Tests/C.hs b/test/Tests/C.hs index 1480491..4861eb1 100644 --- a/test/Tests/C.hs +++ b/test/Tests/C.hs @@ -62,7 +62,7 @@ prop_sum_empty = property $ genRank $ \outrankm1@(SNat @nm1) -> do sht <- shuffleShR (0 :$: shtt) -- n n <- Gen.int (Range.linear 0 20) return (n :$: sht) -- n + 1 - guard (elem 0 (toList (shrTail sh))) + guard (0 `elem` toList (shrTail sh)) -- traceM ("sh: " ++ show sh ++ " -> " ++ show (product sh)) let arr = OR.fromList @(n + 1) @Double (toList sh) [] let rarr = rfromOrthotope inrank arr @@ -140,7 +140,7 @@ tests = testGroup "C" (\Refl (n :$: _) -> do lo <- Gen.integral (Range.constant 0 (n-1)) len <- Gen.integral (Range.constant 0 (n-lo)) return [(lo, len)]) - (const OR.slice) + (\_ -> OR.slice) ,testProperty "slice nD" $ prop_negate_with (\k -> genRank (k (Const ()))) (\_ sh -> do let genPair n = do lo <- Gen.integral (Range.constant 0 (n-1)) @@ -148,6 +148,6 @@ tests = testGroup "C" return (lo, len) pairs <- mapM genPair (toList sh) return pairs) - (const OR.slice) + (\_ -> OR.slice) ] ] |