----------------------------------------------------------------------------- -- | -- Module : Data.Array.Parallel.Unlifted.Sequential.Flat.Random -- Copyright : (c) 2006 Roman Leshchinskiy -- License : see libraries/ndp/LICENSE -- -- Maintainer : Roman Leshchinskiy <rl@cse.unsw.edu.au> -- Stability : internal -- Portability : portable -- -- Description --------------------------------------------------------------- -- -- Random generation of flat unlifted arrays. -- -- Todo ---------------------------------------------------------------------- -- {-# LANGUAGE CPP #-} #include "fusion-phases.h" module Data.Array.Parallel.Unlifted.Sequential.Flat.Random where import Data.Array.Parallel.Stream ( randomS, randomRS) import Data.Array.Parallel.Unlifted.Sequential.Flat.UArr ( UA, UArr) import Data.Array.Parallel.Unlifted.Sequential.Flat.Stream ( unstreamU) import System.Random randomU :: (UA a, Random a, RandomGen g) => Int -> g -> UArr a {-# INLINE_U randomU #-} randomU n = unstreamU . randomS n randomRU :: (UA a, Random a, RandomGen g) => Int -> (a,a) -> g -> UArr a {-# INLINE_U randomRU #-} randomRU n r = unstreamU . randomRS n r