]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/m2/gm2-libs-pim/Random.def
Update copyright years.
[thirdparty/gcc.git] / gcc / m2 / gm2-libs-pim / Random.def
CommitLineData
1eee94d3
GM
1(* Random.def provides a Logitech-3.0 compatible library.
2
83ffe9cd 3Copyright (C) 2005-2023 Free Software Foundation, Inc.
1eee94d3
GM
4Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
5
6This file is part of GNU Modula-2.
7
8GNU Modula-2 is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Modula-2 is distributed in the hope that it will be useful, but
14WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16General Public License for more details.
17
18Under Section 7 of GPL version 3, you are granted additional
19permissions described in the GCC Runtime Library Exception, version
203.1, as published by the Free Software Foundation.
21
22You should have received a copy of the GNU General Public License and
23a copy of the GCC Runtime Library Exception along with this program;
24see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
25<http://www.gnu.org/licenses/>. *)
26
27DEFINITION MODULE Random ;
28
29FROM SYSTEM IMPORT BYTE ;
30EXPORT QUALIFIED Randomize, RandomInit, RandomBytes, RandomCard, RandomInt, RandomReal, RandomLongReal ;
31
32
33(*
34 Randomize - initialize the random number generator with a seed
35 based on the microseconds.
36*)
37
38PROCEDURE Randomize ;
39
40
41(*
42 RandomInit - initialize the random number generator with value, seed.
43*)
44
45PROCEDURE RandomInit (seed: CARDINAL) ;
46
47
48(*
49 RandomBytes - fills in an array with random values.
50*)
51
52PROCEDURE RandomBytes (VAR a: ARRAY OF BYTE) ;
53
54
55(*
56 RandomInt - return an INTEGER in the range 0..bound-1
57*)
58
59PROCEDURE RandomInt (bound: INTEGER) : INTEGER ;
60
61
62(*
63 RandomCard - return a CARDINAL in the range 0..bound-1
64*)
65
66PROCEDURE RandomCard (bound: CARDINAL) : CARDINAL ;
67
68
69(*
70 RandomReal - return a REAL number in the range 0.0..1.0
71*)
72
73PROCEDURE RandomReal () : REAL ;
74
75
76(*
77 RandomLongReal - return a LONGREAL number in the range 0.0..1.0
78*)
79
80PROCEDURE RandomLongReal () : LONGREAL ;
81
82
83END Random.