/* Web Polygraph http://www.web-polygraph.org/ * (C) 2003-2006 The Measurement Factory * Licensed under the Apache License, Version 2.0 */ #include "base/polygraph.h" #include #include #include "xstd/Rnd.h" #include "xstd/String.h" #include "xstd/gadgets.h" #include "base/RndPermut.h" #include "base/polyVersion.h" static int uncorr(int n) { //int exp; //const double x = INT_MAX * (2*frexp(::sin((double)n), &exp) - 1); const double x = INT_MAX * ::sin(n*(double)n); const double y = fabs(x); return (int)Min(y, (double)INT_MAX); } int main(int argc, char *argv[]) { (void)PolyVersion(); int sampleCount = -1; if (argc != 2 || !isInt(argv[1], sampleCount)) { cerr << "usage: " << argv[0] << " " << endl; return 0; } RndGen rngCont; RndGen rngSeeded; RndGen rngPermut; for (int i = 1; i <= sampleCount; ++i) { rngSeeded.seed(i); rngPermut.seed(LclPermut(i)); cout << ' ' << rngCont.ltrial() << ' ' << rngSeeded.ltrial() << ' ' << rngPermut.ltrial() << ' ' << uncorr(i) << endl; } return 0; }