7#include "tpcclibConfig.h"
20#include "test_tpcrand.h"
24static char *info[] = {
25 "Usage: @P [options]",
30 " Run all tests for library functions.",
45 int i, help=0, version=0, verbose=1, error=0, test=0;
49 if(argc==1) {
tpcPrintUsage(argv[0], info, stdout);
return(0);}
50 for(i=1; i<argc; i++) {
52 cptr=argv[i];
if(*cptr==
'-') cptr++;
if(*cptr==
'-') cptr++;
53 if(strncasecmp(cptr,
"TEST", 1)==0) {
60 fprintf(stderr,
"Error: specify --help for usage.\n");
67 if(test==0)
return(0);
69 if(verbose>0) printf(
"running tests for library functions...\n");
71 statusSet(&status, __func__, __FILE__, __LINE__, 0);
77 i++;
if((ret=test_drandSeed(&status))!=0) {
78 fprintf(stderr,
"failed (%d).\n", ret);
82 i++;
if((ret=test_drand(&status))!=0) {
83 fprintf(stderr,
"failed (%d).\n", ret);
87 i++;
if((ret=test_drandRange(&status))!=0) {
88 fprintf(stderr,
"failed (%d).\n", ret);
92 i++;
if((ret=test_drandGaussian(&status))!=0) {
93 fprintf(stderr,
"failed (%d).\n", ret);
97 i++;
if((ret=test_drandExponential(&status))!=0) {
98 fprintf(stderr,
"failed (%d).\n", ret);
104 i++;
if((ret=test_randomShuffle(&status))!=0) {
105 fprintf(stderr,
"failed (%d).\n", ret);
109 i++;
if((ret=test_randomShuffleUnsigned(&status))!=0) {
110 fprintf(stderr,
"failed (%d).\n", ret);
114 i++;
if((ret=test_randomPermutation(&status))!=0) {
115 fprintf(stderr,
"failed (%d).\n", ret);
119 i++;
if((ret=test_randomPermutationUnsigned(&status))!=0) {
120 fprintf(stderr,
"failed (%d).\n", ret);
126 i++;
if((ret=test_mertwiSeed32(&status))!=0) {
127 fprintf(stderr,
"failed (%d).\n", ret);
131 i++;
if((ret=test_mertwiSeed64(&status))!=0) {
132 fprintf(stderr,
"failed (%d).\n", ret);
136 i++;
if((ret=test_mertwiRandomInt64(&status))!=0) {
137 fprintf(stderr,
"failed (%d).\n", ret);
141 i++;
if((ret=test_mertwiRandomDouble1(&status))!=0) {
142 fprintf(stderr,
"failed (%d).\n", ret);
146 i++;
if((ret=test_mertwiRandomDouble2(&status))!=0) {
147 fprintf(stderr,
"failed (%d).\n", ret);
151 i++;
if((ret=test_mertwiRandomBetween(&status))!=0) {
152 fprintf(stderr,
"failed (%d).\n", ret);
156 i++;
if((ret=test_mertwiRandomExponential(&status))!=0) {
157 fprintf(stderr,
"failed (%d).\n", ret);
161 i++;
if((ret=test_mertwiRandomGaussian(&status))!=0) {
162 fprintf(stderr,
"failed (%d).\n", ret);
168 i++;
if((ret=test_haltonPrime(&status))!=0) {
169 fprintf(stderr,
"failed (%d).\n", ret);
173 i++;
if((ret=test_haltonElement(&status))!=0) {
174 fprintf(stderr,
"failed (%d).\n", ret);
189 if(verbose>0) printf(
"\nAll tests passed.\n\n");
unsigned int drandSeed(short int seed)
Make and optionally set the seed for rand(), drand, drandRange, and drandGaussian().
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
void tpcPrintBuild(const char *program, FILE *fp)
void tpcPrintUsage(const char *program, char *text[], FILE *fp)
void statusPrint(FILE *fp, TPCSTATUS *s)
void statusInit(TPCSTATUS *s)
void statusSet(TPCSTATUS *s, const char *func, const char *srcfile, int srcline, tpcerror error)
void statusFree(TPCSTATUS *s)
int verbose
Verbose level, used by statusPrint() etc.
Header file for library libtpcextensions.
Header file for libtpcrand.