| 
									
										
										
										
											2001-06-06 19:40:57 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | :- protocol(randomp). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- info([ | 
					
						
							|  |  |  | 		version is 1.0, | 
					
						
							| 
									
										
										
										
											2003-02-05 00:15:28 +00:00
										 |  |  | 		author is 'Paulo Moura', | 
					
						
							| 
									
										
										
										
											2001-06-06 19:40:57 +00:00
										 |  |  | 		date is 2000/7/24, | 
					
						
							|  |  |  | 		comment is 'Random number generator protocol.']). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- public(random/1). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- mode(random(-float), one). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- info(random/1, [ | 
					
						
							|  |  |  | 		comment is 'Returns a new random float value in the interval [0.0, 1.0[.', | 
					
						
							|  |  |  | 		argnames is ['Random']]). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- public(random/3). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- mode(random(+integer, +integer, -integer), zero_or_one). | 
					
						
							|  |  |  | 	:- mode(random(+float, +float, -float), zero_or_one). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- info(random/3, [ | 
					
						
							|  |  |  | 		comment is 'Returns a new random value in the interval [Lower, Upper[.', | 
					
						
							|  |  |  | 		argnames is ['Lower', 'Upper', 'Random']]). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- public(randseq/4). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- mode(randseq(+integer, +integer, +integer, -list), zero_or_one). | 
					
						
							|  |  |  | 	:- mode(randseq(+integer, +float, +float, -list), zero_or_one). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- info(randseq/4, [ | 
					
						
							|  |  |  | 		comment is 'Returns a list of Length random values in the interval [Lower, Upper[.', | 
					
						
							|  |  |  | 		argnames is ['Length', 'Lower', 'Upper', 'List']]). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- public(randset/4). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- mode(randset(+integer, +integer, +integer, -list), zero_or_one). | 
					
						
							|  |  |  | 	:- mode(randset(+integer, +float, +float, -list), zero_or_one). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- info(randset/4, [ | 
					
						
							|  |  |  | 		comment is 'Returns an ordered set of Length random values in the interval [Lower, Upper[.', | 
					
						
							|  |  |  | 		argnames is ['Length', 'Lower', 'Upper', 'Set']]). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- public(reset_seed/0). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- mode(reset_seed, one). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- info(reset_seed/0, [ | 
					
						
							|  |  |  | 		comment is 'Resets the random seed to its default value.']). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- public(set_seed/1). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- mode(set_seed(+integer), zero_or_one). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	:- info(set_seed/1, [ | 
					
						
							|  |  |  | 		comment is 'Sets the random seed to the given value.', | 
					
						
							|  |  |  | 		argnames is ['Seed']]). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | :- end_protocol. |