version 1.15, 2003/12/29 08:51:19 |
version 1.16, 2003/12/30 19:41:48 |
|
|
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
#include <time.h> |
|
|
|
#define REPS_DEF 100 |
#define REPS_DEF 100 |
#define BEGIN_DEF 1 |
#define BEGIN_DEF 1 |
|
|
if (!sscanf(argv[3], "%lf", &s)) |
if (!sscanf(argv[3], "%lf", &s)) |
errx(1, "Bad s value: %s", argv[3]); |
errx(1, "Bad s value: %s", argv[3]); |
mask |= 01; |
mask |= 01; |
|
if (randomize) |
|
warnx("random seeding not supported"); |
} |
} |
case 3: |
case 3: |
if (!is_default(argv[2])) { |
if (!is_default(argv[2])) { |
|
|
mask = 015; |
mask = 015; |
break; |
break; |
case 012: |
case 012: |
s = (randomize ? time(NULL) : STEP_DEF); |
s = STEP_DEF; |
mask = 013; |
mask = 013; |
break; |
break; |
case 013: |
case 013: |
|
|
mask = 0; |
mask = 0; |
break; |
break; |
case 014: |
case 014: |
s = (randomize ? time(NULL) : STEP_DEF); |
s = STEP_DEF; |
mask = 015; |
mask = 015; |
break; |
break; |
case 015: |
case 015: |
|
|
mask = 0; |
mask = 0; |
break; |
break; |
case 016: |
case 016: |
if (randomize) |
if (reps == 0) |
s = time(NULL); |
|
else if (reps == 0) |
|
errx(1, "Infinite sequences cannot be bounded"); |
errx(1, "Infinite sequences cannot be bounded"); |
else if (reps == 1) |
else if (reps == 1) |
s = 0.0; |
s = 0.0; |
|
|
if (randomize) { |
if (randomize) { |
x = (ender - begin) * (ender > begin ? 1 : -1); |
x = (ender - begin) * (ender > begin ? 1 : -1); |
for (i = 1; i <= reps || infinity; i++) { |
for (i = 1; i <= reps || infinity; i++) { |
y = (double) arc4random() / UINT_MAX; |
y = arc4random() / ((double)0xffffffff + 1); |
putdata(y * x + begin, reps - i == 0 && !infinity); |
putdata(y * x + begin, reps - i == 0 && !infinity); |
} |
} |
} |
} |