]> gitweb.michael.orlitzky.com - spline3.git/blobdiff - src/Tests/Face.hs
Add a test for p. 78, (2.5).
[spline3.git] / src / Tests / Face.hs
index f9de1e7c6f6e8dde049693d08f5d264148d1662c..2de60605b255c9d2cfe2a6bc07022de48a7c86b4 100644 (file)
@@ -31,6 +31,22 @@ prop_all_volumes_positive c =
       nonpositive_volumes = filter (<= 0) volumes
 
 
+-- | Given in Sorokina and Zeilfelder, p. 78.
+prop_cijk1_identity :: Cube -> Bool
+prop_cijk1_identity cube =
+     and [ c t0' i j k 1 ~= (c t1' (i+1) j k 0) * ((b0 t0') (v3 t1')) +
+                            (c t1' i (j+1) k 0) * ((b1 t0') (v3 t1')) +
+                            (c t1' i j (k+1) 0) * ((b2 t0') (v3 t1')) +
+                            (c t1' i j k 1) * ((b3 t0') (v3 t1')) | i <- [0..2],
+                                                                    j <- [0..2],
+                                                                    k <- [0..2],
+                                                                    i + j + k == 2]
+      where
+        t0 = tetrahedron0 (face0 cube)
+        t1 = tetrahedron1 (face0 cube)
+        t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
+        t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
+
 -- | Given in Sorokina and Zeilfelder, p. 79.
 prop_c0120_identity1 :: Cube -> Bool
 prop_c0120_identity1 cube =