Category | Name | Definition |
---|
Uniform | uniform_int_distribution➹ | uniform_int_distribution<IntType>(IntType a, IntType b) |
Example
/*prints
uniform_int_distribution:
0-1: *********
1-2: **********
2-3: *********
3-4: *********
4-5: **********
5-6: **********
6-7: *********
7-8: *********
8-9: **********
9-10: **********
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
uniform_int_distribution<int> distribution(0,9);
int p[10]={};
for (int i=0; i<nrolls; ++i) {
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "uniform_int_distribution:" << endl;
for (int i=0; i<10; ++i) {
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
} |
Uniform | uniform_real_distribution➹ | uniform_real_distribution<RealType>(RealType a, RealType b) |
Example
/*prints
uniform_real_distribution:
0-1: ****************************************************************************************************
1-2:
2-3:
3-4:
4-5:
5-6:
6-7:
7-8:
8-9:
9-10:
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
uniform_real_distribution<double> distribution(0.0,1.0);
int p[10]={};
for (int i=0; i<nrolls; ++i) {
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "uniform_real_distribution:" << endl;
for (int i=0; i<10; ++i) {
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
} |
Bernoulli | bernoulli_distribution➹ | bernoulli_distribution<bool>(double p) |
Example
/*prints
bernoulli_distribution:
0-1: **************************************************
1-2: *************************************************
2-3:
3-4:
4-5:
5-6:
6-7:
7-8:
8-9:
9-10:
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
bernoulli_distribution distribution(0.5);
int p[10]={};
for (int i=0; i<nrolls; ++i) {
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "bernoulli_distribution:" << endl;
for (int i=0; i<10; ++i) {
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
} |
Bernoulli | binomial_distribution➹ | binomial_distribution<IntType>(IntType t, double p) |
Example
/*prints
binomial_distribution:
0-1:
1-2: *
2-3: ******
3-4: ***************
4-5: *************************
5-6: ************************
6-7: ****************
7-8: *******
8-9: *
9-10:
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
binomial_distribution<int> distribution(9,0.5);
int p[10]={};
for (int i=0; i<nrolls; ++i) {
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "binomial_distribution:" << endl;
for (int i=0; i<10; ++i) {
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
} |
Bernoulli | geometric_distribution➹ | geometric_distribution<IntType>(double p) |
Example
/*prints
geometric_distribution:
0-1: *****************************
1-2: ********************
2-3: ***************
3-4: **********
4-5: *******
5-6: ****
6-7: ***
7-8: **
8-9: *
9-10: *
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
geometric_distribution<int> distribution(0.3);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "geometric_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Bernoulli | negative_binomial_distribution➹ | negative_binomial_distribution<IntType>(IntType k, double p) |
Example
/*prints
negative_binomial_distribution:
0-1: ************
1-2: *******************
2-3: *****************
3-4: ****************
4-5: ***********
5-6: *******
6-7: *****
7-8: ***
8-9: **
9-10: *
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
negative_binomial_distribution<int> distribution(3,0.5);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "negative_binomial_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Rate-based | poisson_distribution➹ | poisson_distribution<IntType>(double mean) |
Example
/*prints
poisson_distribution:
0-1: *
1-2: ******
2-3: **************
3-4: *******************
4-5: *******************
5-6: ****************
6-7: ***********
7-8: ******
8-9: ***
9-10: *
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
poisson_distribution<int> distribution(4.1);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "poisson_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Rate-based | exponential_distribution➹ | exponential_distribution<RealType>(RealType lambda) |
Example
/*prints
exponential_distribution:
0-1: ************************************************************************************************
1-2: ***
2-3:
3-4:
4-5:
5-6:
6-7:
7-8:
8-9:
9-10:
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
exponential_distribution<double> distribution(3.5);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "exponential_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Rate-based | gamma_distribution➹ | gamma_distribution<RealType>(RealType alpha, RealType beta) |
Example
/*prints
gamma_distribution:
0-1: *********
1-2: *****************
2-3: ******************
3-4: **************
4-5: ************
5-6: *********
6-7: *****
7-8: ****
8-9: ***
9-10: **
*/
int main()
{
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
gamma_distribution<double> distribution(2.0,2.0);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "gamma_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Rate-based | weibull_distribution➹ | weibull_distribution<RealType>(RealType a, RealType b) |
Example
/*prints
weibull_distribution:
0-1: *****
1-2: ****************
2-3: ********************
3-4: ********************
4-5: ***************
5-6: *********
6-7: *****
7-8: **
8-9: *
9-10:
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
weibull_distribution<double> distribution(2.0,4.0);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "weibull_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Rate-based | extreme_value_distribution➹ | extreme_value_distribution<RealType>(RealType a, RealType b) |
Example
/*prints
extreme_value_distribution<double> distribution:
0-1: ********
1-2: *********
2-3: *********
3-4: ********
4-5: *******
5-6: *******
6-7: *****
7-8: *****
8-9: ****
9-10: ***
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
extreme_value_distribution<double> distribution(2.0,4.0);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "extreme_value_distribution<double> distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Normal | normal_distribution➹ | normal_distribution<RealType>(RealType mean, RealType stddev) |
Example
/*prints
normal_distribution<double> distribution):
0-1: *
1-2: ****
2-3: *********
3-4: ***************
4-5: ******************
5-6: *******************
6-7: ***************
7-8: ********
8-9: ****
9-10: *
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
normal_distribution<double> distribution(5.0,2.0);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "normal_distribution<double> distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Normal | lognormal_distribution➹ | lognormal_distribution<RealType>(RealType m, RealType s) |
Example
/*prints
lognormal_distribution<double> distribution(0.0,1.0):
0-1: **************************************************
1-2: **************************
2-3: **********
3-4: *****
4-5: **
5-6: *
6-7:
7-8:
8-9:
9-10:
*/
int main()
{
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
lognormal_distribution<double> distribution(0.0,1.0);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "lognormal_distribution<double> distribution(0.0,1.0):" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Normal | chi_squared_distribution➹ | chi_squared_distribution<RealType>(RealType n) |
Example
/*prints
chi_squared_distribution<double> distribution:
0-1: *******************
1-2: ***********************
2-3: ******************
3-4: ************
4-5: *********
5-6: *****
6-7: ***
7-8: **
8-9: *
9-10: *
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
chi_squared_distribution<double> distribution(3.0);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "chi_squared_distribution<double> distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Normal | cauchy_distribution➹ | cauchy_distribution<RealType>(RealType a, RealType b) |
Example
/*prints
cauchy_distribution<double> distribution:
0-1: *
1-2: **
2-3: ****
3-4: **********
4-5: ************************
5-6: *************************
6-7: *********
7-8: ****
8-9: **
9-10: *
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
cauchy_distribution<double> distribution(5.0,1.0);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "cauchy_distribution<double> distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Normal | fisher_f_distribution➹ | fisher_f_distribution<RealType>(RealType m, RealType n) |
Example
/*prints
fisher_f_distribution:
0-1: *************************************************
1-2: ****************
2-3: ********
3-4: *****
4-5: ***
5-6: **
6-7: *
7-8: *
8-9: *
9-10: *
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
fisher_f_distribution<double> distribution(2.0,2.0);
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "fisher_f_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Normal | student_t_distribution➹ | student_t_distribution<RealType>(RealType n) |
Example
/*prints
student_t_distribution:
-3.0..-2.5:
-2.5..-2.0: **
-2.0..-1.5: ****
-1.5..-1.0: ********
-1.0..-0.5: **************
-0.5.. 0.0: ******************
0.0.. 0.5: *******************
0.5.. 1.0: **************
1.0.. 1.5: ********
1.5.. 2.0: ****
2.0.. 2.5: **
2.5.. 3.0: *
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
// intervals definitions:
const int nintervals=12;
const double first=-3.0;
const double span=0.5;
default_random_engine generator;
student_t_distribution<double> distribution(10.0);
int p[nintervals]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=first)&&(number<first+nintervals*span))
++p[int((number-first)/span)];
}
cout << "student_t_distribution:" << endl;
cout << fixed; cout.precision(1);
for (int i=0; i<nintervals; ++i)
{
cout.width(4); cout << (first+i*span) << "..";
cout.width(4); cout << (first+(i+1)*span) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Piecewise | discrete_distribution➹ | discrete_distribution<IntType>(size_t nw, double xmin, double xmax, UnaryOperation fw); |
Example
/*prints
discrete_distribution:
0-1: ************
1-2: *************
2-3: *****
3-4: ******
4-5: ************
5-6: ************
6-7: ******
7-8: ******
8-9: ************
9-10: ************
9-10: ************
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
discrete_distribution<int> distribution {2,2,1,1,2,2,1,1,2,2};
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "discrete_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Piecewise | piecewise_constant_distribution➹ | piecewise_constant_distribution<RealType>(InputIt first_i, InputIt last_i, InputIt2 first_w) |
Example
/*prints
piecewise_constant_distribution:
0-1: ************
1-2: *************
2-3: *****
3-4: ******
4-5: ************
5-6: ************
6-7: ******
7-8: ******
8-9: ************
9-10: ************
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
array<double,6> intervals {0.0, 2.0, 4.0, 6.0, 8.0, 10.0};
array<double,5> weights {2.0, 1.0, 2.0, 1.0, 2.0};
piecewise_constant_distribution<double>
distribution (intervals.begin(),intervals.end(),weights.begin());
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "piecewise_constant_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|
Piecewise | piecewise_linear_distribution➹ | piecewise_linear_distribution<RealType>(InputIt first_i, InputIt last_i, InputIt2 first_w) |
Example
/*prints
piecewise_linear_distribution:
0-1: *******************
1-2: **************
2-3: *********
3-4: *****
4-5: *
5-6: *****
6-7: **********
7-8: **************
8-9: *******************
9-10:
*/
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
default_random_engine generator;
array<double,3> intervals {0.0, 4.5, 9.0};
array<double,3> weights {10.0, 0.0, 10.0};
piecewise_linear_distribution<double>
distribution (intervals.begin(),intervals.end(),weights.begin());
int p[10]={};
for (int i=0; i<nrolls; ++i)
{
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
cout << "piecewise_linear_distribution:" << endl;
for (int i=0; i<10; ++i)
{
cout << i << "-" << (i+1) << ": ";
cout << string(p[i]*nstars/nrolls,'*') << endl;
}
|