-type Values sh = Array sh Double
-type Values1D = Values DIM1
-type Values2D = Values DIM2
-type Values3D = Values DIM3
-
-
-instance Arbitrary Values3D where
- arbitrary = do
- -- I declare not to care about empty lists.
- x_dim <- choose (1, 27)
- y_dim <- choose (1, 27)
- z_dim <- choose (1, 27)
- elements <- vectorOf (x_dim * y_dim * z_dim) (arbitrary :: Gen Double)
- let new_shape = (Z :. x_dim :. y_dim :. z_dim)
- let three_d = Data.Array.Repa.fromList new_shape elements
- return three_d
-
-
-read_values_1d :: FilePath -> IO Values1D
-read_values_1d = readVectorFromTextFile
-
-
-read_values_3d :: DIM3 -> FilePath -> IO Values3D
-read_values_3d sh path = do
- one_d <- read_values_1d path
- return $ reshape sh one_d
-