import Data.Array.Repa.IO.Vector (readVectorFromTextFile,
writeVectorToTextFile)
import System.FilePath ()
-import Test.QuickCheck (Arbitrary(..), Gen)
+import Test.QuickCheck (Arbitrary(..), Gen, Positive(..), vectorOf)
import ScaleFactor
instance Arbitrary Values3D where
arbitrary = do
- x_dim <- arbitrary :: Gen Int
- y_dim <- arbitrary :: Gen Int
- z_dim <- arbitrary :: Gen Int
- one_d <- arbitrary :: Gen Values1D
+ (Positive x_dim) <- arbitrary :: Gen (Positive Int)
+ (Positive y_dim) <- arbitrary :: Gen (Positive Int)
+ (Positive z_dim) <- arbitrary :: Gen (Positive Int)
+ elements <- vectorOf (x_dim * y_dim * z_dim) (arbitrary :: Gen Double)
let new_shape = (Z :. x_dim :. y_dim :. z_dim)
- let three_d = reshape new_shape one_d
+ let three_d = Data.Array.Repa.fromList new_shape elements
return three_d
-instance Arbitrary Values1D where
- arbitrary = do
- x <- arbitrary :: Gen [Double]
- let shape = (Z :. (length x))
- let one_d = Data.Array.Repa.fromList shape x
- return one_d
-
-
read_values_1d :: FilePath -> IO Values1D
read_values_1d = readVectorFromTextFile