]> gitweb.michael.orlitzky.com - spline3.git/blobdiff - src/Grid.hs
Fix the FunctionValues value_at cases, and update the Grid tests to match.
[spline3.git] / src / Grid.hs
index f8fb3310f9ab32cdada246305376ccbf896fb8f2..db8d4d3a8e852386fe287b13e5e02a2ffa6af257 100644 (file)
@@ -113,13 +113,11 @@ find_containing_cube g p =
       k = calculate_containing_cube_coordinate g z
 
 
-{-# INLINE zoom_lookup #-}
 zoom_lookup :: Values3D -> ScaleFactor -> a -> (R.DIM3 -> Double)
 zoom_lookup v3d scale_factor _ =
     zoom_result v3d scale_factor
 
 
-{-# INLINE zoom_result #-}
 zoom_result :: Values3D -> ScaleFactor -> R.DIM3 -> Double
 zoom_result v3d (sfx, sfy, sfz) (R.Z R.:. m R.:. n R.:. o) =
   f p
@@ -293,6 +291,7 @@ test_trilinear_reproduced =
                     | i <- [0..2],
                       j <- [0..2],
                       k <- [0..2],
+                      c0 <- cs,
                       t <- tetrahedra c0,
                       let p = polynomial t,
                       let i' = fromIntegral i,
@@ -300,7 +299,7 @@ test_trilinear_reproduced =
                       let k' = fromIntegral k]
     where
       g = make_grid 1 trilinear
-      c0 = cube_at g 1 1 1
+      cs = [ cube_at g ci cj ck | ci <- [0..2], cj <- [0..2], ck <- [0..2] ]
 
 
 test_zeros_reproduced :: Assertion
@@ -312,12 +311,13 @@ test_zeros_reproduced =
                       k <- [0..2],
                       let i' = fromIntegral i,
                       let j' = fromIntegral j,
-                      let k' = fromIntegral k]
+                      let k' = fromIntegral k,
+                      c0 <- cs,
+                      t0 <- tetrahedra c0,
+                      let p = polynomial t0 ]
     where
       g = make_grid 1 zeros
-      c0 = cube_at g 1 1 1
-      t0 = tetrahedron c0 0
-      p = polynomial t0
+      cs = [ cube_at g ci cj ck | ci <- [0..2], cj <- [0..2], ck <- [0..2] ]
 
 
 -- | Make sure we can reproduce a 9x9x9 trilinear from the 3x3x3 one.