EvolvingObjects
|
//----------------------------------------------------------------------------- // t-rng.cpp //----------------------------------------------------------------------------- // This file really needs to be implementes usign some stringent tests, for now // we simply check that the impementation of some methods does generally work... #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <iostream> #include <eo> #include <utils/eoRNG.h> using namespace std; int main() { const size_t num(10000); double mean(100.); double sigma(5.); double sum(0.); for(size_t i=0; i<num; ++i) sum += abs(rng.normal(sigma)); sum /= double(num); if(sum > sigma / 0.68) { cerr << "Normal distribution seems out of bounds; " << "rerun to make sure it wasn't a statistical outlier" << endl; return -1; } sum = 0.; for(size_t i=0; i<num; ++i) sum += abs(rng.normal(mean, sigma) - mean); sum /= double(num); if(sum > sigma / 0.68) { cerr << "Normal distribution seems out of bounds; " << "rerun to make sure it wasn't a statistical outlier" << endl; return -1; } return 0; } // Local Variables: // coding: iso-8859-1 // mode: C++ // c-file-offsets: ((c . 0)) // c-file-style: "Stroustrup" // fill-column: 80 // End: