TESTS: add more tests for scalarProd

This commit is contained in:
hasufell 2014-12-17 19:53:03 +01:00
parent 1cf21ba03b
commit 396f92a921
No known key found for this signature in database
GPG Key ID: 220CD1C5BDEED020
2 changed files with 19 additions and 0 deletions

View File

@ -108,3 +108,20 @@ scalarProdProp3 r v1 v2 v3 =
[v1', v2', v3'] = fmap (r2 . (fromIntegral *** fromIntegral)) [v1, v2, v3]
r' = fromIntegral r
-- scalar multiplication
scalarProdProp4 :: Int -> Int -> (Int, Int) -> (Int, Int) -> Bool
scalarProdProp4 s1 s2 v1 v2
= scalarMul s1' v1' `scalarProd` scalarMul s2' v2'
==
s1' * s2' * (v1' `scalarProd` v2')
where
[v1', v2'] = fmap (r2 . (fromIntegral *** fromIntegral)) [v1, v2]
s1' = fromIntegral s1
s2' = fromIntegral s2
-- orthogonal
scalarProdProp5 :: Positive Vec -> Positive Vec -> Bool
scalarProdProp5 (Positive (R2 x1 _)) (Positive (R2 _ y2))
= scalarProd (R2 x1 0) (R2 0 y2) == 0

View File

@ -31,3 +31,5 @@ main = do
deepCheck scalarProdProp1
deepCheck scalarProdProp2
deepCheck scalarProdProp3
deepCheck scalarProdProp4
deepCheck scalarProdProp5