
April 23rd, 2010, 08:27 AM
|
|
Registered User
|
|
Join Date: Oct 2008
Posts: 12
Time spent in forums: 2 h 43 m 42 sec
Reputation Power: 0
|
|
|
[Haskell] Generating a random Float number
Hi guys,
I'm trying to generate a random number in the interval [0.0,1.0]. It is straightforward for me to implement the function on ints:
Code:
rand :: IO Int
rand = do r <- newStdGen
let (x1, r2) = randomR (0,1) r
print x1
return x1
However, if I try to generate a Float instead, I always get an Arithmetic Overflow error that I can not understand.
Code:
rand :: IO Float
rand = do r <- newStdGen
let (x1, r2) = randomR (0.0::Float,1.0::Float) r
print x1
return x1
Do you have any clue why this happens?
Thanks in advance,
Giorgio
|