
AMDG On 07/13/2011 11:04 AM, Karsten Ahnert wrote:
I have the following code
boost::mt19937 rng; boost::cauchy_distribution< double > cauchy( 0.0 , 0.1 );
for( size_t i=0 ; i<16 ; ++i ) { std::cout << cauchy( rng ) << " "; }
which produced this sequence :
76513.4 4.3467e+06 -254805 -1.63299e+06 -6.96405e+06 233243 214884 883827 471904 268253 648798 140314 1.43562e+06 653319 -582905 91567.6
I think these number are much to high. The standard deviation should be 0.1. Does anyone knows what went wrong? Is this my failure?
I use boost 1.46 and gcc 4.5.2.
This code should work correctly in 1.47. In 1.46 and prior, you need to use variate_generator. boost::variate_generator< boost::mt19937&, boost::cauchy_distribution<double> > gen(rng, cauchy); std::cout << gen() << " "; In Christ, Steven Watanabe