initial framework added
[fp1415-soccerfun.git] / src / StdLibExt / RandomExt.dcl
1 definition module RandomExt
2
3 // **************************************************************************************************
4 //
5 // General utility for random number generation.
6 //
7 // This module is actually an extension of the Random module in the 'Object IO Examples:gui utilities'
8 // folder. That module lacked instances of the usual overloaded functions.
9 //
10 // **************************************************************************************************
11
12 import StdTime
13 import StdClass
14
15 :: RandomSeed
16
17 nullRandomSeed :: RandomSeed
18 // nullRandomSeed generates a useless RandomSeed (random nullRandomSeed = (0,nullRandomSeed)).
19
20 getNewRandomSeed:: !*env -> (!RandomSeed, !*env) | TimeEnv env
21 // GetNewRandomSeed generates a useful RandomSeed, using the current time.
22
23 random :: !RandomSeed -> (!Int, !RandomSeed)
24 // Given a RandomSeed, Random generates a random number and a new RandomSeed.
25
26 instance toString RandomSeed
27 instance fromString RandomSeed
28 instance == RandomSeed