Skip to content

Commit

Permalink
Add an extra property test
Browse files Browse the repository at this point in the history
  • Loading branch information
lehins committed Aug 7, 2022
1 parent 388d77a commit d7da78a
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions massiv-test/src/Test/Massiv/Array/Numeric.hs
Original file line number Diff line number Diff line change
Expand Up @@ -257,11 +257,18 @@ mutableNumericSpec =
computeIO (identityMatrix (Sz n)) `shouldReturn`
makeArray @r Seq (Sz2 n n) (\ (i :. j) -> if i == j then 1 else 0 :: e)
prop "LowerTriangular" $ \ comp n f -> expectProp $ do
computeIO (lowerTriangular comp (Sz n) (applyFun f . fromIx2)) `shouldReturn`
computeIO (lowerTriangular comp (Sz n) (funIx2 f)) `shouldReturn`
makeArray @r Seq (Sz2 n n) (\ (i :. j) -> if i >= j then applyFun f (i, j) else 0 :: e)
prop "UpperTriangular" $ \ comp n f -> expectProp $ do
computeIO (upperTriangular comp (Sz n) (applyFun f . fromIx2)) `shouldReturn`
computeIO (upperTriangular comp (Sz n) (funIx2 f)) `shouldReturn`
makeArray @r Seq (Sz2 n n) (\ (i :. j) -> if i <= j then applyFun f (i, j) else 0 :: e)
prop "LowerTriangular==UpperTriangular'" $ \ comp n f -> expectProp $ do
computeIO (lowerTriangular comp (Sz n) (funIx2 f)) `shouldReturn`
compute @r @Ix2 @e
(transpose (compute @r (upperTriangular comp (Sz n) (funIx2 f . swapIx2))))
where
funIx2 f = applyFun f . fromIx2
swapIx2 (x :. y) = y :. x

mutableNumericFloatSpec ::
forall r.
Expand Down

0 comments on commit d7da78a

Please sign in to comment.