summaryrefslogtreecommitdiff
path: root/files/practicum/Random.dcl
blob: cc4f646dca1c34f24237b041dc2a38d00d4de17c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
definition module Random

//	**************************************************************************************************
//
//	General utility for random number generation.
//
//	This module has been written in Clean 1.3.2 and uses the Clean Standard Object I/O library 1.2
//	
//	**************************************************************************************************

import StdTime

::	RandomSeed

nullRandomSeed  :: RandomSeed
//	nullRandomSeed generates a useless RandomSeed (random nullRandomSeed = (0,nullRandomSeed)).

getNewRandomSeed:: !*env -> (!RandomSeed, !*env) | TimeEnv env
//	GetNewRandomSeed generates a useful RandomSeed, using the current time.

random          :: !RandomSeed -> .(!Int, !RandomSeed)
//	Given a RandomSeed, Random generates a random number and a new RandomSeed.