Boost logo

Boost Users :

Subject: Re: [Boost-users] [random] Cauchy distribution
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-07-13 14:34:10


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




Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net