Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::random Namespace Reference

Namespaces

 detail
 

Classes

class  additive_combine_engine
 An instantiation of class template additive_combine_engine models a . More...
 
class  bernoulli_distribution
 Instantiations of class template model a . More...
 
class  beta_distribution
 The beta distribution is a real-valued distribution which produces values in the range [0, 1]. More...
 
class  binomial_distribution
 The binomial distribution is an integer valued distribution with two parameters, t and p. More...
 
class  cauchy_distribution
 The cauchy distribution is a continuous distribution with two parameters, median and sigma. More...
 
class  chi_squared_distribution
 The chi squared distribution is a real valued distribution with one parameter, n. More...
 
class  discard_block_engine
 The class template is a model of . More...
 
class  discrete_distribution
 The class discrete_distribution models a . More...
 
class  exponential_distribution
 The exponential distribution is a model of with a single parameter lambda. More...
 
class  extreme_value_distribution
 The extreme value distribution is a real valued distribution with two parameters a and b. More...
 
class  fisher_f_distribution
 The Fisher F distribution is a real valued distribution with two parameters m and n. More...
 
class  gamma_distribution
 The gamma distribution is a continuous distribution with two parameters alpha and beta. More...
 
class  geometric_distribution
 An instantiation of the class template geometric_distribution models a . More...
 
class  independent_bits_engine
 An instantiation of class template independent_bits_engine model a . More...
 
class  independent_bits_engine< Engine, w, boost::multiprecision::number< Backend, ExpressionTemplates > >
 
class  inversive_congruential_engine
 Instantiations of class template inversive_congruential_engine model a . More...
 
class  lagged_fibonacci_01_engine
 Instantiations of class template lagged_fibonacci_01 model a . More...
 
class  lagged_fibonacci_engine
 Instantiations of class template model a . More...
 
class  laplace_distribution
 The laplace distribution is a real-valued distribution with two parameters, mean and beta. More...
 
class  linear_congruential_engine
 Instantiations of class template linear_congruential_engine model a . More...
 
class  linear_feedback_shift_engine
 Instatiations of linear_feedback_shift model a . More...
 
class  lognormal_distribution
 Instantiations of class template lognormal_distribution model a . More...
 
class  mersenne_twister_engine
 Instantiations of class template mersenne_twister_engine model a . More...
 
class  negative_binomial_distribution
 The negative binomial distribution is an integer valued distribution with two parameters, k and p. More...
 
class  normal_distribution
 Instantiations of class template normal_distribution model a . More...
 
class  piecewise_constant_distribution
 The class piecewise_constant_distribution models a . More...
 
class  piecewise_linear_distribution
 The class piecewise_linear_distribution models a . More...
 
class  poisson_distribution
 An instantiation of the class template poisson_distribution is a model of . More...
 
class  rand48
 Class rand48 models a . More...
 
class  random_device
 Class models a . More...
 
class  random_number_generator
 Instantiations of class template random_number_generator model a RandomNumberGenerator (std:25.2.11 [lib.alg.random.shuffle]). More...
 
class  seed_seq
 The class seed_seq stores a sequence of 32-bit words for seeding a . More...
 
class  shuffle_order_engine
 Instatiations of class template shuffle_order_engine model a . More...
 
class  student_t_distribution
 The Student t distribution is a real valued distribution with one parameter n, the number of degrees of freedom. More...
 
class  subtract_with_carry_01_engine
 Instantiations of model a . More...
 
class  subtract_with_carry_engine
 Instantiations of subtract_with_carry_engine model a . More...
 
class  triangle_distribution
 Instantiations of triangle_distribution model a . More...
 
class  uniform_01
 
class  uniform_int_distribution
 The class template uniform_int_distribution models a . More...
 
class  uniform_on_sphere
 Instantiations of class template uniform_on_sphere model a . More...
 
class  uniform_real_distribution
 The class template uniform_real_distribution models a . More...
 
class  uniform_smallint
 The distribution function uniform_smallint models a . More...
 
class  uniform_smallint< boost::multiprecision::number< Backend, ExpressionTemplates > >
 
class  weibull_distribution
 The Weibull distribution is a real valued distribution with two parameters a and b, producing values >= 0. More...
 
class  xor_combine_engine
 Instantiations of xor_combine_engine model a . More...
 

Typedefs

typedef
additive_combine_engine
< linear_congruential_engine
< uint32_t, 40014, 0, 2147483563 >
, linear_congruential_engine
< uint32_t, 40692, 0, 2147483399 >> 
ecuyer1988
 The specialization was suggested in. More...
 
typedef
inversive_congruential_engine
< uint32_t, 9102, 2147483647-36884165, 2147483647 > 
hellekalek1995
 The specialization hellekalek1995 was suggested in. More...
 
typedef
lagged_fibonacci_01_engine
< double, 48, 607, 273 > 
lagged_fibonacci607
 
typedef
lagged_fibonacci_01_engine
< double, 48, 1279, 418 > 
lagged_fibonacci1279
 
typedef
lagged_fibonacci_01_engine
< double, 48, 2281, 1252 > 
lagged_fibonacci2281
 
typedef
lagged_fibonacci_01_engine
< double, 48, 3217, 576 > 
lagged_fibonacci3217
 
typedef
lagged_fibonacci_01_engine
< double, 48, 4423, 2098 > 
lagged_fibonacci4423
 
typedef
lagged_fibonacci_01_engine
< double, 48, 9689, 5502 > 
lagged_fibonacci9689
 
typedef
lagged_fibonacci_01_engine
< double, 48, 19937, 9842 > 
lagged_fibonacci19937
 
typedef
lagged_fibonacci_01_engine
< double, 48, 23209, 13470 > 
lagged_fibonacci23209
 
typedef
lagged_fibonacci_01_engine
< double, 48, 44497, 21034 > 
lagged_fibonacci44497
 
typedef
linear_congruential_engine
< uint32_t, 16807, 0, 2147483647 > 
minstd_rand0
 The specialization was originally suggested in. More...
 
typedef
linear_congruential_engine
< uint32_t, 48271, 0, 2147483647 > 
minstd_rand
 The specialization was suggested in. More...
 
typedef
mersenne_twister_engine
< uint32_t, 32, 351, 175, 19, 0xccab8ee7, 11, 0xffffffff, 7, 0x31b6ab00, 15, 0xffe50000, 17, 1812433253 > 
mt11213b
 The specializations and are from. More...
 
typedef
mersenne_twister_engine
< uint32_t, 32, 624, 397, 31, 0x9908b0df, 11, 0xffffffff, 7, 0x9d2c5680, 15, 0xefc60000, 18, 1812433253 > 
mt19937
 The specializations and are from. More...
 
typedef
mersenne_twister_engine
< uint64_t,
64, 312, 156, 31, UINT64_C(0xb5026f5aa96619e9), 29, UINT64_C(0x5555555555555555), 17, UINT64_C(0x71d67fffeda60000), 37, UINT64_C(0xfff7eee000000000), 43, UINT64_C(6364136223846793005)> 
mt19937_64
 
typedef
subtract_with_carry_engine
< uint32_t, 24, 10, 24 > 
ranlux_base
 
typedef
subtract_with_carry_01_engine
< float, 24, 10, 24 > 
ranlux_base_01
 
typedef
subtract_with_carry_01_engine
< double, 48, 10, 24 > 
ranlux64_base_01
 
typedef discard_block_engine
< ranlux_base, 223, 24 > 
ranlux3
 The ranlux family of generators are described in. More...
 
typedef discard_block_engine
< ranlux_base, 389, 24 > 
ranlux4
 The ranlux family of generators are described in. More...
 
typedef discard_block_engine
< ranlux_base_01, 223, 24 > 
ranlux3_01
 The ranlux family of generators are described in. More...
 
typedef discard_block_engine
< ranlux_base_01, 389, 24 > 
ranlux4_01
 The ranlux family of generators are described in. More...
 
typedef discard_block_engine
< ranlux64_base_01, 223, 24 > 
ranlux64_3_01
 The ranlux family of generators are described in. More...
 
typedef discard_block_engine
< ranlux64_base_01, 389, 24 > 
ranlux64_4_01
 The ranlux family of generators are described in. More...
 
typedef
subtract_with_carry_engine
< uint64_t, 48, 10, 24 > 
ranlux64_base
 
typedef discard_block_engine
< ranlux64_base, 223, 24 > 
ranlux64_3
 The ranlux family of generators are described in. More...
 
typedef discard_block_engine
< ranlux64_base, 389, 24 > 
ranlux64_4
 The ranlux family of generators are described in. More...
 
typedef
subtract_with_carry_engine
< uint32_t, 24, 10, 24 > 
ranlux24_base
 
typedef
subtract_with_carry_engine
< uint64_t, 48, 5, 12 > 
ranlux48_base
 
typedef discard_block_engine
< ranlux24_base, 223, 23 > 
ranlux24
 
typedef discard_block_engine
< ranlux48_base, 389, 11 > 
ranlux48
 
typedef shuffle_order_engine
< linear_congruential_engine
< uint32_t, 1366, 150889, 714025 >, 97 > 
kreutzer1986
 According to Harry Erwin (private e-mail), the specialization kreutzer1986 was suggested in: More...
 
typedef shuffle_order_engine
< minstd_rand0, 256 > 
knuth_b
 The specialization knuth_b is specified by the C++ standard. More...
 
typedef xor_combine_engine
< xor_combine_engine
< linear_feedback_shift_engine
< uint32_t, 32, 31, 13, 12 >
, 0, linear_feedback_shift_engine
< uint32_t, 32, 29, 2, 4 >
, 0 >, 0, linear_feedback_shift_engine
< uint32_t, 32, 28, 3, 17 >, 0 > 
taus88
 The specialization taus88 was suggested in. More...
 

Functions

template<class RealType , std::size_t bits, class URNG >
RealType generate_canonical (URNG &g)
 Returns a value uniformly distributed in the range [0, 1) with at least bits random bits. More...
 

Typedef Documentation

typedef additive_combine_engine< linear_congruential_engine<uint32_t, 40014, 0, 2147483563>, linear_congruential_engine<uint32_t, 40692, 0, 2147483399>> boost::random::ecuyer1988

The specialization was suggested in.

"Efficient and Portable Combined Random Number Generators", Pierre L'Ecuyer, Communications of the ACM, Vol. 31, No. 6, June 1988, pp. 742-749, 774

typedef inversive_congruential_engine<uint32_t, 9102, 2147483647-36884165, 2147483647> boost::random::hellekalek1995

The specialization hellekalek1995 was suggested in.

"Inversive pseudorandom number generators: concepts, results and links", Peter Hellekalek, In: "Proceedings of the 1995 Winter Simulation Conference", C. Alexopoulos, K. Kang, W.R. Lilegdon, and D. Goldsman (editors), 1995, pp. 255-262. ftp://random.mat.sbg.ac.at/pub/data/wsc95.ps

The specialization knuth_b is specified by the C++ standard.

It is described in

"The Art of Computer Programming, Second Edition, Volume 2, Seminumerical Algorithms", Donald Knuth, Addison-Wesley, 1981.

typedef shuffle_order_engine< linear_congruential_engine<uint32_t, 1366, 150889, 714025>, 97> boost::random::kreutzer1986

According to Harry Erwin (private e-mail), the specialization kreutzer1986 was suggested in:

"System Simulation: Programming Styles and Languages (International Computer Science Series)", Wolfgang Kreutzer, Addison-Wesley, December 1986.

typedef linear_congruential_engine<uint32_t, 48271, 0, 2147483647> boost::random::minstd_rand

The specialization was suggested in.

"Random Number Generators: Good ones are hard to find", Stephen K. Park and Keith W. Miller, Communications of the ACM, Vol. 31, No. 10, October 1988, pp. 1192-1201

typedef linear_congruential_engine<uint32_t, 16807, 0, 2147483647> boost::random::minstd_rand0

The specialization was originally suggested in.

A pseudo-random number generator for the System/360, P.A. Lewis, A.S. Goodman, J.M. Miller, IBM Systems Journal, Vol. 8, No. 2, 1969, pp. 136-146

It is examined more closely together with in

"Random Number Generators: Good ones are hard to find", Stephen K. Park and Keith W. Miller, Communications of the ACM, Vol. 31, No. 10, October 1988, pp. 1192-1201

typedef mersenne_twister_engine<uint32_t,32,351,175,19,0xccab8ee7, 11,0xffffffff,7,0x31b6ab00,15,0xffe50000,17,1812433253> boost::random::mt11213b

The specializations and are from.

"Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator", Makoto Matsumoto and Takuji Nishimura, ACM Transactions on Modeling and Computer Simulation: Special Issue on Uniform Random Number Generation, Vol. 8, No. 1, January 1998, pp. 3-30.

typedef mersenne_twister_engine<uint32_t,32,624,397,31,0x9908b0df, 11,0xffffffff,7,0x9d2c5680,15,0xefc60000,18,1812433253> boost::random::mt19937

The specializations and are from.

"Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator", Makoto Matsumoto and Takuji Nishimura, ACM Transactions on Modeling and Computer Simulation: Special Issue on Uniform Random Number Generation, Vol. 8, No. 1, January 1998, pp. 3-30.

typedef mersenne_twister_engine<uint64_t,64,312,156,31, UINT64_C(0xb5026f5aa96619e9),29,UINT64_C(0x5555555555555555),17, UINT64_C(0x71d67fffeda60000),37,UINT64_C(0xfff7eee000000000),43, UINT64_C(6364136223846793005)> boost::random::mt19937_64

The ranlux family of generators are described in.

"A portable high-quality random number generator for lattice field theory calculations", M. Luescher, Computer Physics Communications, 79 (1994) pp 100-110.

The levels are given in

"RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Luescher", F. James, Computer Physics Communications 79 (1994) 111-114

The ranlux family of generators are described in.

"A portable high-quality random number generator for lattice field theory calculations", M. Luescher, Computer Physics Communications, 79 (1994) pp 100-110.

The levels are given in

"RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Luescher", F. James, Computer Physics Communications 79 (1994) 111-114

The ranlux family of generators are described in.

"A portable high-quality random number generator for lattice field theory calculations", M. Luescher, Computer Physics Communications, 79 (1994) pp 100-110.

The levels are given in

"RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Luescher", F. James, Computer Physics Communications 79 (1994) 111-114

The ranlux family of generators are described in.

"A portable high-quality random number generator for lattice field theory calculations", M. Luescher, Computer Physics Communications, 79 (1994) pp 100-110.

The levels are given in

"RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Luescher", F. James, Computer Physics Communications 79 (1994) 111-114

The ranlux family of generators are described in.

"A portable high-quality random number generator for lattice field theory calculations", M. Luescher, Computer Physics Communications, 79 (1994) pp 100-110.

The levels are given in

"RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Luescher", F. James, Computer Physics Communications 79 (1994) 111-114

The ranlux family of generators are described in.

"A portable high-quality random number generator for lattice field theory calculations", M. Luescher, Computer Physics Communications, 79 (1994) pp 100-110.

The levels are given in

"RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Luescher", F. James, Computer Physics Communications 79 (1994) 111-114

The ranlux family of generators are described in.

"A portable high-quality random number generator for lattice field theory calculations", M. Luescher, Computer Physics Communications, 79 (1994) pp 100-110.

The levels are given in

"RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Luescher", F. James, Computer Physics Communications 79 (1994) 111-114

The ranlux family of generators are described in.

"A portable high-quality random number generator for lattice field theory calculations", M. Luescher, Computer Physics Communications, 79 (1994) pp 100-110.

The levels are given in

"RANLUX: A Fortran implementation of the high-quality pseudorandom number generator of Luescher", F. James, Computer Physics Communications 79 (1994) 111-114

typedef xor_combine_engine< xor_combine_engine< linear_feedback_shift_engine<uint32_t, 32, 31, 13, 12>, 0, linear_feedback_shift_engine<uint32_t, 32, 29, 2, 4>, 0>, 0, linear_feedback_shift_engine<uint32_t, 32, 28, 3, 17>, 0> boost::random::taus88

The specialization taus88 was suggested in.

"Maximally Equidistributed Combined Tausworthe Generators", Pierre L'Ecuyer, Mathematics of Computation, Volume 65, Number 213, January 1996, Pages 203-213

Function Documentation

template<class RealType , std::size_t bits, class URNG >
RealType boost::random::generate_canonical ( URNG &  g)

Returns a value uniformly distributed in the range [0, 1) with at least bits random bits.

References BOOST_ASSERT, and boost::math::tools::epsilon.