]> gitweb.michael.orlitzky.com - spline3.git/blobdiff - src/Grid.hs
Fix all orphan instances.
[spline3.git] / src / Grid.hs
index 1a436acdc00d9276ceb1e25b7080355577822bf3..efa63418947c308e7bed8c25619dadbc8d9d0a8e 100644 (file)
@@ -4,6 +4,8 @@
 module Grid
 where
 
+import Test.QuickCheck (Arbitrary(..), Gen, Positive(..))
+
 import Cube (Cube(Cube))
 import FunctionValues
 import Misc (flatten)
@@ -20,6 +22,13 @@ data Grid = Grid { h :: Double, -- MUST BE GREATER THAN ZERO!
           deriving (Eq, Show)
 
 
+instance Arbitrary Grid where
+    arbitrary = do
+      (Positive h') <- arbitrary :: Gen (Positive Double)
+      fvs <- arbitrary :: Gen [[[Double]]]
+      return (make_grid h' fvs)
+
+
 -- | The constructor that we want people to use. If we're passed a
 --   non-positive grid size, we throw an error.
 make_grid :: Double -> [[[Double]]] -> Grid