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)
rnd_v2 <- arbitrary :: Gen Point
rnd_v3 <- arbitrary :: Gen Point
rnd_fv <- arbitrary :: Gen FunctionValues
- (Positive rnd_vol) <- arbitrary :: Gen (Positive Double)
+ rnd_vol <- arbitrary :: Gen Double
return (Tetrahedron rnd_fv rnd_v0 rnd_v1 rnd_v2 rnd_v3 rnd_vol)
-- | 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 }