module AERN2.Utils.Bench
(
listFromGen
)
where
import Test.QuickCheck.Random (mkQCGen)
import Test.QuickCheck.Gen (Gen(..))
import MixedTypesNumPrelude
listFromGen :: Gen a -> [a]
listFromGen :: forall a. Gen a -> [a]
listFromGen Gen a
gen =
[a]
list
where
list :: [a]
list =
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map Integer -> [a]
genSome [Integer
1..]
where
genSome :: Integer -> [a]
genSome Integer
size =
forall a. Gen a -> QCGen -> Int -> a
unGen (forall (t :: * -> *) (m :: * -> *) a.
(Traversable t, Monad m) =>
t (m a) -> m (t a)
sequence forall a b. (a -> b) -> a -> b
$ forall n a. CanBeInteger n => n -> a -> [a]
replicate Integer
10 Gen a
gen) QCGen
qcGen (forall t. CanBeInt t => t -> Int
int Integer
size)
qcGen :: QCGen
qcGen = Int -> QCGen
mkQCGen (forall t. CanBeInt t => t -> Int
int Integer
148548830)