X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTetrahedron.hs;h=670a6e0f26f5024be159b8f870bcfd61e1dafe92;hb=5c2ac2ca74f2657ff8af381d3bcda72a37b39fb7;hp=e71151a1e6a1d370a1057010415976a332cc15fe;hpb=6985f184b560c21139209e5cc9fd0eaf4a51715c;p=spline3.git diff --git a/src/Tetrahedron.hs b/src/Tetrahedron.hs index e71151a..670a6e0 100644 --- a/src/Tetrahedron.hs +++ b/src/Tetrahedron.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE BangPatterns #-} module Tetrahedron ( Tetrahedron(..), b0, -- Cube test @@ -33,11 +34,11 @@ import ThreeDimensional (ThreeDimensional(..)) data Tetrahedron = Tetrahedron { function_values :: FunctionValues, - v0 :: Point, - v1 :: Point, - v2 :: Point, - v3 :: Point, - precomputed_volume :: Double + v0 :: !Point, + v1 :: !Point, + v2 :: !Point, + v3 :: !Point, + precomputed_volume :: !Double } deriving (Eq) @@ -142,7 +143,7 @@ beta t i j k l -- Zeilfelder, pp. 84-86. If incorrect indices are supplied, the -- function will simply error. c :: Tetrahedron -> Int -> Int -> Int -> Int -> Double -c t i j k l = +c !t !i !j !k !l = coefficient i j k l where fvs = function_values t