trilinear,
trilinear_zoom_2,
trilinear9x9x9,
- zeros
- )
+ zeros )
where
-import qualified Data.Array.Repa as Repa
-
-import Misc (flatten, transpose_xz)
-import Values (Values3D)
+import Data.Array.Repa (
+ (:.)( (:.) ),
+ DIM3,
+ Z( Z ),
+ fromListUnboxed )
+import Misc ( flatten, transpose_xz )
+import Values ( Values3D )
-- | Values of the function f(x,y,z) = 1 + x + xy + xyz taken at nine
-- points (hi, hj, jk) with h = 1. From example one in the paper.
-- Used in the next bunch of tests.
+--
trilinear_list :: [[[Double]]]
trilinear_list = [ [ [ 1, 2, 3 ],
[ 1, 3, 5 ],
[ 1, 8, 15 ]]]
-n_cube :: Int -> Repa.DIM3
-n_cube n = (Repa.Z Repa.:. n Repa.:. n Repa.:. n)
+n_cube :: Int -> DIM3
+n_cube n = (Z :. n :. n :. n)
trilinear :: Values3D
-trilinear = Repa.fromListUnboxed (n_cube 3) $
+trilinear = fromListUnboxed (n_cube 3) $
flatten $
transpose_xz
trilinear_list
trilinear_zoom_2_list = [[[1, 3/2, 2, 5/2, 3], [1, 7/4, 5/2, 13/4, 4], [1, 2, 3, 4, 5], [1, 9/4, 7/2, 19/4, 6], [1, 5/2, 4, 11/2, 7]], [[1, 3/2, 2, 5/2, 3], [1, 15/8, 11/4, 29/8, 9/2], [1, 9/4, 7/2, 19/4, 6], [1, 21/8, 17/4, 47/8, 15/2], [1, 3, 5, 7, 9]], [[1, 3/2, 2, 5/2, 3], [1, 2, 3, 4, 5], [1, 5/2, 4, 11/2, 7], [1, 3, 5, 7, 9], [1, 7/2, 6, 17/2, 11]], [[1, 3/2, 2, 5/2, 3], [1, 17/8, 13/4, 35/8, 11/2], [1, 11/4, 9/2, 25/4, 8], [1, 27/8, 23/4, 65/8, 21/2], [1, 4, 7, 10, 13]], [[1, 3/2, 2, 5/2, 3], [1, 9/4, 7/2, 19/4, 6], [1, 3, 5, 7, 9], [1, 15/4, 13/2, 37/4, 12], [1, 9/2, 8, 23/2, 15]]]
trilinear_zoom_2 :: Values3D
-trilinear_zoom_2 = Repa.fromListUnboxed (n_cube 6) $
+trilinear_zoom_2 = fromListUnboxed (n_cube 6) $
flatten $
transpose_xz
trilinear_zoom_2_list
trilinear9x9x9 :: Values3D
-trilinear9x9x9 = Repa.fromListUnboxed (n_cube 9) $
+trilinear9x9x9 = fromListUnboxed (n_cube 9) $
flatten $
transpose_xz
trilinear9x9x9_list
-- No need to transpose_xz this one.
zeros :: Values3D
-zeros = Repa.fromListUnboxed (n_cube 3) $ flatten zeros_list
+zeros = fromListUnboxed (n_cube 3) $ flatten zeros_list
-- | A 3x3x3 array of numbers, starting at (0,0,0) == 0 and counting
[ 24, 25, 26 ]]]
naturals :: Values3D
-naturals = Repa.fromListUnboxed (n_cube 3) $
+naturals = fromListUnboxed (n_cube 3) $
flatten $
transpose_xz
naturals_list
11, 12, 13, 14, 15, 16, 17, 18, 19, 20]]]
-twenty_vector :: Repa.DIM3
-twenty_vector = (Repa.Z Repa.:. 1 Repa.:. 20 Repa.:. 1)
+twenty_vector :: DIM3
+twenty_vector = (Z :. 1 :. 20 :. 1)
-- | Used in at least one test where we need a 1x20x1 array.
naturals_1d :: Values3D
-naturals_1d = Repa.fromListUnboxed twenty_vector (flatten naturals_1d_list)
+naturals_1d = fromListUnboxed twenty_vector (flatten naturals_1d_list)