Skip to content

Commit ae9cb24

Browse files
committed
use shouldBeEps
1 parent 9b83021 commit ae9cb24

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

test/ArrayFire/ArithSpec.hs

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,23 @@ spec =
2222
it "Should subtract two scalar arrays" $ do
2323
scalar @Int 4 - 2 `shouldBe` 2
2424
it "Should multiply two scalar arrays" $ do
25-
scalar @Double 4 `mul` 2 `shouldBe` 8
25+
scalar @Double 4 `mul` 2 `shouldBeEps` 8
2626
it "Should divide two scalar arrays" $ do
27-
div @Double 8 2 `shouldBe` 4
27+
div @Double 8 2 `shouldBeEps` 4
2828
it "Should add two matrices" $ do
2929
matrix @Int (2,2) [[1,1],[1,1]] + matrix @Int (2,2) [[1,1],[1,1]]
3030
`shouldBe`
3131
matrix @Int (2,2) [[2,2],[2,2]]
3232
it "Should take cubed root" $ do
33-
3 `shouldBe` cbrt @Double 27
33+
3 `shouldBeEps` cbrt @Double 27
3434
it "Should take square root" $ do
35-
2 `shouldBe` sqrt @Double 4
35+
2 `shouldBeEps` sqrt @Double 4
3636
it "Should lt Array" $ do
37-
2 `A.lt` (3 :: Array Double) `shouldBe` True
37+
2 `A.lt` (3 :: Array Double) `shouldBeEps` True
3838
it "Should gt Array" $ do
39-
2 `A.gt` (3 :: Array Double) `shouldBe` False
39+
2 `A.gt` (3 :: Array Double) `shouldBeEps` False
4040
it "Should eq Array" $ do
41-
3 == (3 :: Array Double) `shouldBe` True
41+
3 == (3 :: Array Double) `shouldBeEps` True
4242
it "Should and Array" $ do
4343
(mkArray @CBool [1] [0] `and` mkArray [1] [1])
4444
`shouldBe` mkArray [1] [0]
@@ -92,3 +92,12 @@ spec =
9292
isZero (scalar @Double (acos 2)) `shouldBe` scalar @Double 0
9393
isZero (scalar @Double 0) `shouldBe` scalar @Double 1
9494
isZero (scalar @Double 1) `shouldBe` scalar @Double 0
95+
96+
shouldBeEps :: Array Double -> Array Double -> Expectation
97+
actual `shouldBeEps` expected = expect err_msg (cmpEps actual expected)
98+
where
99+
err_msg = "expected: " ++ show expected ++ "\n but got: " ++ show actual)
100+
cmpEps =
101+
let x :: Double
102+
x = fromIntegral $ abs $ actual - expected
103+
in x <= 1e-14

0 commit comments

Comments
 (0)