12 if ((a) == (b)) printf("OK "); \ 13 else printf("FAIL"); \ 14 printf(" : " #a "\n"); 17 if ((a) != (b)) printf("OK "); \ 18 else printf("FAIL"); \ 19 printf(" : " #a "\n"); 21 #define ABS(a) ((a) < 0 ? -(a) : (a)) 30 # define MAXSMP 1000000 39 int imyseed =
sizeof(int), imax = 0, itst;
40 long lmyseed =
sizeof(long), lmax = 0, ltst;
47 for (i=0; i<arrdim; ++i) {
66 for (i = 0; i < sample; ++i) {
67 ++iarr1[(int) (((
double)
LR_irand(o)) * dten)];
71 printf(
"seed = %ld %ld\n",
74 printf(
"LR_IRAND_IMAX = %ld\n",(
long)
LR_igetval(
"LR_IRAND_IMAX"));
75 printf(
"LR_IRAND_IMAX2= %ld\n",(
long)
LR_igetval(
"LR_IRAND_IMAX2"));
76 printf(
"LR_IRAND_INOT = %ld\n",(
long)
LR_igetval(
"LR_IRAND_INOT"));
77 printf(
"imax = %ld\n", (
long) imax);
78 printf(
"sampling from LR_irand()\n");
79 for (i=0; i<arrdim; ++i) {
80 printf(
" %5d",iarr1[i]);
84 printf(
"sampling from LR_frand()\n");
86 for (i = 0; i < sample; ++i) {
89 for (i=0; i<arrdim; ++i) {
90 printf(
" %5d",uarr1[i]);
96 for (i=0; i<arrdim; ++i) {
97 if (ABS(iarr1[i] - uarr1[i]) > dten) itst++;
99 if (itst) printf(
"FAIL");
101 printf(
" : compare LR_irand() and LR_frand() distributions\n");
105 for (i=0; i<arrdim; ++i) {
124 for (i = 0; i < sample; ++i) {
125 ++iarr1[(int) (((
double)
LR_lrand(o)) * dten)];
129 printf(
"seed = %ld %ld\n",(
long) lmyseed, (
long)
LR_lgetseed(o));
131 printf(
"LR_IRAND_LMAX = %ld\n",(
long)
LR_lgetval(
"LR_IRAND_LMAX"));
132 printf(
"LR_IRAND_LMAX2= %ld\n",(
long)
LR_lgetval(
"LR_IRAND_LMAX2"));
133 printf(
"LR_IRAND_LNOT = %ld\n",(
long)
LR_lgetval(
"LR_IRAND_LNOT"));
134 printf(
"lmax = %ld\n", (
long) lmax);
135 printf(
"sampling from LR_lrand()\n");
136 for (i=0; i<arrdim; ++i) {
137 printf(
" %5d",iarr1[i]);
141 printf(
"sampling from LR_drand()\n");
143 for (i = 0; i < sample; ++i) {
146 for (i=0; i<arrdim; ++i) {
147 printf(
" %5d",uarr1[i]);
153 for (i=0; i<arrdim; ++i) {
154 if (ABS(iarr1[i] - uarr1[i]) > dten) ltst++;
156 if (ltst) printf(
"FAIL");
158 printf(
" : compare LR_lrand() and LR_drand() distributions\n");
int LR_igetrand(LR_obj *)
LR_igetrand(LR_obj *) - get the current pseudo-random number.
long LR_lgetval(char *str)
LR_lgetval(char *val) - return the configure value.
double LR_drand(LR_obj *)
LR_drand(LR_obj *) - returns double in range [0.0,1.0)
#define LR_IRAND_LMAX
LibRan IRAND max long value.
int LR_irand(LR_obj *)
LR_irand(LR_obj *) - returns int in range [0,LR_IRAND_IMAX].
float LR_fgetrand(LR_obj *)
LR_fgetrand(LR_obj *) - get the current pseudo-random number.
int LR_igetval(char *str)
LR_igetval(char *val) - return the configure value.
long LR_lrand(LR_obj *)
LR_lrand(LR_obj *) - returns long in range [0,LR_IRAND_LMAX].
LR_obj * LR_new(LR_type t, LR_data_type d)
LR_new(LR_type t, LR_data_type d) - create the LR object and preset some default parameter values...
long LR_lgetrand(LR_obj *)
LR_lgetrand(LR_obj *) - get the current pseudo-random number.
int LR_igetseed(LR_obj *)
LR_igetseed(LR_obj *) - get the current seed.
double LR_dgetrand(LR_obj *)
LR_dgetrand(LR_obj *) - get the current pseudo-random number.
#define LR_IRAND_IMAX
LibRan IRAND max int value.
float LR_frand(LR_obj *)
LR_frand(LR_obj *) - returns float in range [0.0,1.0)
long LR_lgetseed(LR_obj *)
LR_lgetseed(LR_obj *) - get the current seed.
Generated by the configuration step.
void LR_isetseed(LR_obj *, int ity)
LR_isetseed(LR_obj *, int X) - set the seed to X.
The LibRan common header file.
the fundamental LibRan random variate distribution object
void LR_lsetseed(LR_obj *, long lty)
LR_lsetseed(LR_obj *, long X) - set the seed to X.