X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTests%2FCube.hs;h=e9e21d6fad3f5fd389050ce135b1d54d631155ff;hb=9849853e69c46b46996e8c775d15661b2aba27a8;hp=17ea7f8857ee6e0a1bc9f079a7a19b7d8509fe57;hpb=c3d4eba6aa5ada928b351e9ec7c12c3077808ba7;p=spline3.git diff --git a/src/Tests/Cube.hs b/src/Tests/Cube.hs index 17ea7f8..e9e21d6 100644 --- a/src/Tests/Cube.hs +++ b/src/Tests/Cube.hs @@ -398,47 +398,27 @@ prop_c_tilde_2100_rotation_correct cube = (1/192)*(FD + RD + LD + BD) --- | We know what (c t6 2 1 0 0) should be from Sorokina and Zeilfelder, p. 87. --- This test checks the actual value based on the FunctionValues of the cube. +-- | We know what (c t6 2 1 0 0) should be from Sorokina and +-- Zeilfelder, p. 87. This test checks the actual value based on +-- the FunctionValues of the cube. +-- +-- If 'prop_c_tilde_2100_rotation_correct' passes, then this test is +-- even meaningful! prop_c_tilde_2100_correct :: Cube -> Bool prop_c_tilde_2100_correct cube = - c t6 2 1 0 0 == (3/8)*int - + (1/12)*(f + r + l + b) - + (1/64)*(ft + rt + lt + bt) - + (7/48)*t + (1/48)*d + (1/96)*(fr + fl + br + bl) - + (1/192)*(fd + rd + ld + bd) + c t6 2 1 0 0 == expected where t0 = tetrahedron0 cube t6 = tetrahedron6 cube fvs = Tetrahedron.fv t0 - (Cube _ i j k _ _) = cube - f = value_at fvs (i-1) j k - b = value_at fvs (i+1) j k - l = value_at fvs i (j-1) k - r = value_at fvs i (j+1) k - d = value_at fvs i j (k-1) - t = value_at fvs i j (k+1) - fl = value_at fvs (i-1) (j-1) k - fr = value_at fvs (i-1) (j+1) k - fd = value_at fvs (i-1) j (k-1) - ft = value_at fvs (i-1) j (k+1) - bl = value_at fvs (i+1) (j-1) k - br = value_at fvs (i+1) (j+1) k - bd = value_at fvs (i+1) j (k-1) - bt = value_at fvs (i+1) j (k+1) - ld = value_at fvs i (j-1) (k-1) - lt = value_at fvs i (j-1) (k+1) - rd = value_at fvs i (j+1) (k-1) - rt = value_at fvs i (j+1) (k+1) - fld = value_at fvs (i-1) (j-1) (k-1) - flt = value_at fvs (i-1) (j-1) (k+1) - frd = value_at fvs (i-1) (j+1) (k-1) - frt = value_at fvs (i-1) (j+1) (k+1) - bld = value_at fvs (i+1) (j-1) (k-1) - blt = value_at fvs (i+1) (j-1) (k+1) - brd = value_at fvs (i+1) (j+1) (k-1) - brt = value_at fvs (i+1) (j+1) (k+1) - int = value_at fvs i j k + expected = eval fvs $ + (3/8)*I + + (1/12)*(F + R + L + B) + + (1/64)*(FT + RT + LT + BT) + + (7/48)*T + + (1/48)*D + + (1/96)*(FR + FL + BR + BL) + + (1/192)*(FD + RD + LD + BD) -- Tests to check that the correct edges are incidental.