X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FCube.hs;h=d0d4b7e59740fd80bf72ed2a05fa78091afdbc04;hb=f877af8565db22a047214827d44c4435f96385d5;hp=1144a13168d7041800d67e18876d2e4dd369cdc7;hpb=c3285bb69e52bd4fc2aca89b056505553149e9da;p=spline3.git diff --git a/src/Cube.hs b/src/Cube.hs index 1144a13..d0d4b7e 100644 --- a/src/Cube.hs +++ b/src/Cube.hs @@ -25,7 +25,7 @@ import Test.QuickCheck (Arbitrary(..), Gen, Positive(..), choose) import Cardinal import Comparisons ((~=), (~~=)) import qualified Face (Face(Face, v0, v1, v2, v3)) -import FunctionValues +import FunctionValues (FunctionValues, eval, rotate) import Misc (all_equal, disjoint) import Point import Tetrahedron (Tetrahedron(..), c, volume) @@ -49,9 +49,13 @@ instance Arbitrary Cube where fv' <- arbitrary :: Gen FunctionValues (Positive tet_vol) <- arbitrary :: Gen (Positive Double) return (Cube h' i' j' k' fv' tet_vol) - where - coordmin = -268435456 -- -(2^29 / 2) - coordmax = 268435456 -- +(2^29 / 2) + where + -- The idea here is that, when cubed in the volume formula, + -- these numbers don't overflow 64 bits. This number is not + -- magic in any other sense than that it does not cause test + -- failures, while 2^23 does. + coordmax = 4194304 -- 2^22 + coordmin = -coordmax instance Show Cube where @@ -64,8 +68,7 @@ instance Show Cube where " ymin: " ++ (show (ymin cube)) ++ "\n" ++ " ymax: " ++ (show (ymax cube)) ++ "\n" ++ " zmin: " ++ (show (zmin cube)) ++ "\n" ++ - " zmax: " ++ (show (zmax cube)) ++ "\n" ++ - " fv: " ++ (show (Cube.fv cube)) ++ "\n" + " zmax: " ++ (show (zmax cube)) ++ "\n" where subscript = (show (i cube)) ++ "," ++ (show (j cube)) ++ "," ++ (show (k cube))