LibRan  0.1
Pseudo-random number distribution generator
urand.h
1 static const char AUTHOR[]="@(#)urand 06/02/94 1.3 R.K.Owen,PhD";
2 static const char RCSID[]="$Id: urand.c 106 2002-02-10 08:02:39Z rk $";
3 /*****
4  ******************************************************************************
5  LibRan/Urand -
6  Urand is a specialized sequential congruential uniform
7  pseudo-random number generator based on theory and
8  suggestions given in D.E. Knuth (1969), vol 2. and then
9  republished by G.E. Forsysth, M.A. Malcolm, and C.B. Moler (1977);
10  and converted from Fortran 77 to C with f2c.
11 
12  Modified to fit into the LibRan package, and to isolate each
13  pseudo-random sequence to each LibRan object.
14 
15  ******************************************************************************
16  *****/
17 /*
18  * Copyright 2019 R.K. Owen, Ph.D.
19  * License see lgpl.md (Gnu Lesser General Public License)
20  */
21 
22 /*
23  * LR_irand() - returns int in range [0,LR_IRAND_IMAX]
24  * LR_lrand() - returns long in range [0,LR_IRAND_LMAX]
25  * LR_frand() - returns float in range [0,1.0)
26  * LR_drand() - returns double in range [0,1.0)
27  * LR_isetseed(int X) - sets the seed to X
28  * LR_lsetseed(long X) - sets the seed to X
29  * LR_igetseed() - gets the current seed
30  * LR_lgetseed() - gets the current seed
31  * LR_igetrand() - returns last value returned from irand()
32  * LR_lgetrand() - returns last value returned from lrand()
33  * LR_fgetrand() - returns last value returned from frand()
34  * LR_dgetrand() - returns last value returned from drand()
35  * LR_igetval() - returns URAND int configuration values
36  * LR_lgetval() - returns URAND long configuration values
37  *
38  * extern INTEGER IRAND_MAX - the maximum value returned by irand
39  * it's only defined after a call to
40  * urand(), irand(), or setseed().
41  */
42 
43 #ifndef _URAND_H_
44 # define _URAND_H_
45 
46 # include "libran.h"
47 
48 int LR_irand(LR_obj *);
49 float LR_frand(LR_obj *);
50 void LR_isetseed(LR_obj *, int ity);
51 int LR_igetseed(LR_obj *);
52 int LR_igetrand(LR_obj *);
53 float LR_fgetrand(LR_obj *);
54 
55 long LR_lrand(LR_obj *);
56 double LR_drand(LR_obj *);
57 void LR_lsetseed(LR_obj *, long lty);
58 long LR_lgetseed(LR_obj *);
59 long LR_lgetrand(LR_obj *);
60 double LR_dgetrand(LR_obj *);
61 
62 int LR_igetval(char *str);
63 long LR_lgetval(char *str);
64 #endif /* _URAND_H_ */
int LR_igetrand(LR_obj *)
LR_igetrand(LR_obj *) - get the current pseudo-random number.
Definition: urand.c:243
long LR_lgetval(char *str)
LR_lgetval(char *val) - return the configure value.
Definition: urand.c:443
double LR_drand(LR_obj *)
LR_drand(LR_obj *) - returns double in range [0.0,1.0)
Definition: urand.c:342
int LR_irand(LR_obj *)
LR_irand(LR_obj *) - returns int in range [0,LR_IRAND_IMAX].
Definition: urand.c:121
float LR_fgetrand(LR_obj *)
LR_fgetrand(LR_obj *) - get the current pseudo-random number.
Definition: urand.c:256
int LR_igetval(char *str)
LR_igetval(char *val) - return the configure value.
Definition: urand.c:422
long LR_lrand(LR_obj *)
LR_lrand(LR_obj *) - returns long in range [0,LR_IRAND_LMAX].
Definition: urand.c:270
long LR_lgetrand(LR_obj *)
LR_lgetrand(LR_obj *) - get the current pseudo-random number.
Definition: urand.c:392
int LR_igetseed(LR_obj *)
LR_igetseed(LR_obj *) - get the current seed.
Definition: urand.c:230
double LR_dgetrand(LR_obj *)
LR_dgetrand(LR_obj *) - get the current pseudo-random number.
Definition: urand.c:405
float LR_frand(LR_obj *)
LR_frand(LR_obj *) - returns float in range [0.0,1.0)
Definition: urand.c:193
long LR_lgetseed(LR_obj *)
LR_lgetseed(LR_obj *) - get the current seed.
Definition: urand.c:379
void LR_isetseed(LR_obj *, int ity)
LR_isetseed(LR_obj *, int X) - set the seed to X.
Definition: urand.c:212
The LibRan common header file.
the fundamental LibRan random variate distribution object
Definition: libran.h:134
void LR_lsetseed(LR_obj *, long lty)
LR_lsetseed(LR_obj *, long X) - set the seed to X.
Definition: urand.c:361