added practicum files, updated gitignore
[fp1415.git] / files / practicum / Random.dcl
1 definition module Random
2
3 // **************************************************************************************************
4 //
5 // General utility for random number generation.
6 //
7 // This module has been written in Clean 1.3.2 and uses the Clean Standard Object I/O library 1.2
8 //
9 // **************************************************************************************************
10
11 import StdTime
12
13 :: RandomSeed
14
15 nullRandomSeed :: RandomSeed
16 // nullRandomSeed generates a useless RandomSeed (random nullRandomSeed = (0,nullRandomSeed)).
17
18 getNewRandomSeed:: !*env -> (!RandomSeed, !*env) | TimeEnv env
19 // GetNewRandomSeed generates a useful RandomSeed, using the current time.
20
21 random :: !RandomSeed -> .(!Int, !RandomSeed)
22 // Given a RandomSeed, Random generates a random number and a new RandomSeed.