From 396f92a921bf5937f990f4c6246c4b6d9fb9cb5e Mon Sep 17 00:00:00 2001 From: hasufell Date: Wed, 17 Dec 2014 19:53:03 +0100 Subject: [PATCH] TESTS: add more tests for scalarProd --- Test/Vector.hs | 17 +++++++++++++++++ TestMain.hs | 2 ++ 2 files changed, 19 insertions(+) diff --git a/Test/Vector.hs b/Test/Vector.hs index e981065..49dec4b 100644 --- a/Test/Vector.hs +++ b/Test/Vector.hs @@ -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 diff --git a/TestMain.hs b/TestMain.hs index 3ea335f..4753890 100644 --- a/TestMain.hs +++ b/TestMain.hs @@ -31,3 +31,5 @@ main = do deepCheck scalarProdProp1 deepCheck scalarProdProp2 deepCheck scalarProdProp3 + deepCheck scalarProdProp4 + deepCheck scalarProdProp5