// std::mt19937 random number generator // uses std::function and std::bind // g++ -std=c++0x std_mersenne.cpp utility.cpp #include #include #include #include #include #include "utility.hpp" using namespace std; int main() { // define generator mt19937 gener; // initialize generator auto seed = static_cast (std::time(0)); cout<<" seed = "< unif; // bind distribution and generator function unirand = bind(unif, gener); // test it ofstream out1("unif"); format_output(out1,30); for (int i = 0; i<10000; ++i) out1<< unirand()< gaussian; function gaussrand = bind(gaussian, gener); ofstream out2("gauss"); format_output(out2,30); for (int i = 0; i<10000; ++i) out2<< gaussrand()< expon; function exprand = bind(expon, gener); ofstream out3("expon"); format_output(out3,30); for (int i = 0; i<10000; ++i) out3<< exprand()<