Add ^ getpid() to make more random results for subsequent calling.

Add proper type casting to random calls

Should go into 2.2
This commit is contained in:
Andrey A. Chernov 1997-03-08 11:40:15 +00:00
parent 0232e09f50
commit 9d288406f5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=23511

View File

@ -53,6 +53,7 @@ static char sccsid[] = "@(#)jot.c 8.1 (Berkeley) 6/6/93";
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#define REPS_DEF 100
#define BEGIN_DEF 1
@ -95,9 +96,9 @@ main(argc, argv)
getargs(argc, argv);
if (randomize) {
*x = (ender - begin) * (ender > begin ? 1 : -1);
srandom((int) s);
srandom((unsigned) s);
for (*i = 1; *i <= reps || infinity; (*i)++) {
*y = (double) random() / INT_MAX;
*y = (double) random() / LONG_MAX;
putdata(*y * *x + begin, reps - *i);
}
}
@ -249,7 +250,7 @@ getargs(ac, av)
mask = 015;
break;
case 012:
s = (randomize ? time(0) : STEP_DEF);
s = (randomize ? time(NULL) ^ getpid() : STEP_DEF);
mask = 013;
break;
case 013:
@ -261,7 +262,7 @@ getargs(ac, av)
mask = 0;
break;
case 014:
s = (randomize ? time(0) : STEP_DEF);
s = (randomize ? time(NULL) ^ getpid() : STEP_DEF);
mask = 015;
break;
case 015:
@ -273,7 +274,7 @@ getargs(ac, av)
break;
case 016:
if (randomize)
s = time(0);
s = time(NULL) ^ getpid();
else if (reps == 0)
error("Infinite sequences cannot be bounded",
"");