X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FFunctionValues.hs;h=bc1414630a6ca44b64e7667cf08423e388634a99;hb=HEAD;hp=632a7f4bd7370d2867fd2af61bf528233661a985;hpb=70f47e1795fac88c669a64f179430797293d6f58;p=spline3.git diff --git a/src/FunctionValues.hs b/src/FunctionValues.hs index 632a7f4..bc14146 100644 --- a/src/FunctionValues.hs +++ b/src/FunctionValues.hs @@ -17,7 +17,19 @@ module FunctionValues ( value_at ) where -import Prelude hiding ( LT ) +import Prelude( + Bool, + Double, + Eq( (==) ), + Fractional( (/) ), + Int, + Num( (+), (-), (*) ), + Ord ( (>=), (<) ), + Show, + (&&), + and, + not, + return ) import Test.Tasty ( TestTree, testGroup ) import Test.Tasty.HUnit ( Assertion, testCase ) import Test.Tasty.QuickCheck ( Arbitrary( arbitrary ), choose, testProperty ) @@ -278,32 +290,32 @@ value_at v3d !i !j !k -- object centered at (i,j,k) make_values :: Values3D -> Int -> Int -> Int -> FunctionValues make_values values !i !j !k = - empty_values { front = value_at values (i-1) j k, - back = value_at values (i+1) j k, - left = value_at values i (j-1) k, - right = value_at values i (j+1) k, - down = value_at values i j (k-1), - top = value_at values i j (k+1), - front_left = value_at values (i-1) (j-1) k, - front_right = value_at values (i-1) (j+1) k, - front_down =value_at values (i-1) j (k-1), - front_top = value_at values (i-1) j (k+1), - back_left = value_at values (i+1) (j-1) k, - back_right = value_at values (i+1) (j+1) k, - back_down = value_at values (i+1) j (k-1), - back_top = value_at values (i+1) j (k+1), - left_down = value_at values i (j-1) (k-1), - left_top = value_at values i (j-1) (k+1), - right_down = value_at values i (j+1) (k-1), - right_top = value_at values i (j+1) (k+1), - front_left_down = value_at values (i-1) (j-1) (k-1), - front_left_top = value_at values (i-1) (j-1) (k+1), - front_right_down = value_at values (i-1) (j+1) (k-1), - front_right_top = value_at values (i-1) (j+1) (k+1), - back_left_down = value_at values (i+1) (j-1) (k-1), - back_left_top = value_at values (i+1) (j-1) (k+1), - back_right_down = value_at values (i+1) (j+1) (k-1), - back_right_top = value_at values (i+1) (j+1) (k+1), + empty_values { front = value_at values (i - 1) j k, + back = value_at values (i + 1) j k, + left = value_at values i (j - 1) k, + right = value_at values i (j + 1) k, + down = value_at values i j (k - 1), + top = value_at values i j (k + 1), + front_left = value_at values (i - 1) (j - 1) k, + front_right = value_at values (i - 1) (j + 1) k, + front_down =value_at values (i - 1) j (k - 1), + front_top = value_at values (i - 1) j (k + 1), + back_left = value_at values (i + 1) (j - 1) k, + back_right = value_at values (i + 1) (j + 1) k, + back_down = value_at values (i + 1) j (k - 1), + back_top = value_at values (i + 1) j (k + 1), + left_down = value_at values i (j - 1) (k - 1), + left_top = value_at values i (j - 1) (k + 1), + right_down = value_at values i (j + 1) (k - 1), + right_top = value_at values i (j + 1) (k + 1), + front_left_down = value_at values (i - 1) (j - 1) (k - 1), + front_left_top = value_at values (i - 1) (j - 1) (k + 1), + front_right_down = value_at values (i - 1) (j + 1) (k - 1), + front_right_top = value_at values (i - 1) (j + 1) (k + 1), + back_left_down = value_at values (i + 1) (j - 1) (k - 1), + back_left_top = value_at values (i + 1) (j - 1) (k + 1), + back_right_down = value_at values (i + 1) (j + 1) (k - 1), + back_right_top = value_at values (i + 1) (j + 1) (k + 1), interior = value_at values i j k } -- | Takes a 'FunctionValues' and a function that transforms one