import qualified Data.Vector.Unboxed as U import System.Random.Mersenne.Pure64 import qualified Data.Vector.Random.Mersenne as G import Data.Int main = do g <- newPureMT -- let a = U.map realToFrac (G.randoms g 10000000 :: U.Vector Double) :: U.Vector Float -- 100 M let a = G.randoms g 10000000 -- :: U.Vector Int8 -- 100 M print (U.and a)