module TestData.Random ( randomVector ) where import qualified Data.Vector.Unboxed as V import System.Random.MWC import Control.Monad.ST ( runST ) randomVector :: (Variate a, V.Unbox a) => Int -> IO (V.Vector a) randomVector n = withSystemRandom $ \g -> do xs <- sequence $ replicate n $ uniform g io (return $ V.fromListN n xs) where io :: IO a -> IO a io = id