]> gitweb.michael.orlitzky.com - spline3.git/blobdiff - src/Tetrahedron.hs
Revert "Attempt to use precomputed volumes everywhere, tests fail en masse."
[spline3.git] / src / Tetrahedron.hs
index 4606761b94b3df7986fd07ce18b9d32277677d8b..95233e008bfa0efe4fb69f20a4485b52f8e53b20 100644 (file)
@@ -3,7 +3,7 @@ where
 
 import Numeric.LinearAlgebra hiding (i, scale)
 import Prelude hiding (LT)
-import Test.QuickCheck (Arbitrary(..), Gen, Positive(..))
+import Test.QuickCheck (Arbitrary(..), Gen)
 
 import Cardinal
 import Comparisons (nearly_ge)
@@ -17,8 +17,7 @@ data Tetrahedron = Tetrahedron { fv :: FunctionValues,
                                  v0 :: Point,
                                  v1 :: Point,
                                  v2 :: Point,
-                                 v3 :: Point,
-                                 precomputed_volume :: Double }
+                                 v3 :: Point }
                    deriving (Eq)
 
 
@@ -29,8 +28,7 @@ instance Arbitrary Tetrahedron where
       rnd_v2 <- arbitrary :: Gen Point
       rnd_v3 <- arbitrary :: Gen Point
       rnd_fv <- arbitrary :: Gen FunctionValues
-      (Positive rnd_vol) <- arbitrary :: Gen (Positive Double)
-      return (Tetrahedron rnd_fv rnd_v0 rnd_v1 rnd_v2 rnd_v3 rnd_vol)
+      return (Tetrahedron rnd_fv rnd_v0 rnd_v1 rnd_v2 rnd_v3)
 
 
 instance Show Tetrahedron where
@@ -267,27 +265,27 @@ volume t
 
 -- | The barycentric coordinates of a point with respect to v0.
 b0 :: Tetrahedron -> (RealFunction Point)
-b0 t point = (volume inner_tetrahedron) / (precomputed_volume t)
+b0 t point = (volume inner_tetrahedron) / (volume t)
              where
                inner_tetrahedron = t { v0 = point }
 
 
 -- | The barycentric coordinates of a point with respect to v1.
 b1 :: Tetrahedron -> (RealFunction Point)
-b1 t point = (volume inner_tetrahedron) / (precomputed_volume t)
+b1 t point = (volume inner_tetrahedron) / (volume t)
              where
                inner_tetrahedron = t { v1 = point }
 
 
 -- | The barycentric coordinates of a point with respect to v2.
 b2 :: Tetrahedron -> (RealFunction Point)
-b2 t point = (volume inner_tetrahedron) / (precomputed_volume t)
+b2 t point = (volume inner_tetrahedron) / (volume t)
              where
                inner_tetrahedron = t { v2 = point }
 
 
 -- | The barycentric coordinates of a point with respect to v3.
 b3 :: Tetrahedron -> (RealFunction Point)
-b3 t point = (volume inner_tetrahedron) / (precomputed_volume t)
+b3 t point = (volume inner_tetrahedron) / (volume t)
              where
                inner_tetrahedron = t { v3 = point }