src/base/misc.hh
inline std::function<double ()> Gaussian_white_noise(unsigned long seed)
	{
		std::shared_ptr<std::mt19937> 
			random(new std::mt19937(seed));
		std::shared_ptr<std::normal_distribution<double>> 
			normal(new std::normal_distribution<double>);

		return [random, normal] () -> double 
			{ return (*normal)(*random); };
	}
// gaussian noise generator {{{2
/*!
	 * generates gaussian white noise with a sigma = 1 and mean = 0
	 */
gaussian noise generator {{{2
generates gaussian white noise with a sigma = 1 and mean = 0
gaussian noise generator {{{ 2 generates gaussian white noise with a sigma = 1 and mean = 0
inline std::function<double ()> Gaussian_white_noise(unsigned long seed)
	{
		std::shared_ptr<std::mt19937> 
			random(new std::mt19937(seed));
		std::shared_ptr<std::normal_distribution<double>> 
			normal(new std::normal_distribution<double>);
		return [random, normal] () -> double 
			{ return (*normal)(*random); };
	}
inline std :: function < double ( ) > Gaussian_white_noise ( unsigned long seed ) { std :: shared_ptr < std :: mt19937 > random ( new std :: mt19937 ( seed ) ) ; std :: shared_ptr < std :: normal_distribution < double > > normal ( new std :: normal_distribution < double > ) ; return [ random , normal ] ( ) -> double { return ( * normal ) ( * random ) ; } ; }
gaussian noise generator {{{2
 generates gaussian white noise with a sigma = 1 and mean = 0
gaussian noise generator {{{ 2 generates gaussian white noise with a sigma = 1 and mean = 0