- void test_mt19937()
- {
- // 以时间为种子创建一个随机数发生器
- boost::mt19937 rng(time(0));
- for (int i = 0; i < 100; ++i)
- {
- std::cout << rng() << std::endl;
- }
- }
- void test_rand48()
- {
- boost::rand48 rng;
- for (int i = 0; i < 10; ++i)
- {
- std::cout << rng() * 1.0 / std::numeric_limits<boost::rand48::result_type>::max() << std::endl;
- }
- }
- // uniform_smallint:在小整数域内的均匀分布
- // uniform_int:在整数域上的均匀分布
- // uniform_01:在区间[0,1]上的实数连续均匀分布
- // uniform_real:在区间[min,max]上的实数连续均匀分布
- // bernoulli_distribution:伯努利分布
- // binomial_distribution:二项分布
- // cauchy_distribution:柯西(洛伦兹)分布
- // gamma_distribution:伽马分布
- // poisson_distribution:泊松分布
- // geometric_distribution:几何分布
- // triangle_distribution:三角分布
- // exponential_distribution:指数分布
- // normal_distribution:正态分布
- // lognormal_distribution:对数正态分布
- // uniform_on_sphere:球面均匀分布
- void test_random_distribute()
- {
- boost::mt19937 rng(time(0));
- // 1. uniform_int
- boost::uniform_int<> ui(0, 255);
- for (int i = 0; i < 10; ++i)
- {
- std::cout<< ui(rng) << std::endl;
- }
- // 2. uniform_01
- boost::uniform_01<boost::mt19937&> u01(rng);
- for (int i = 0; i < 10; ++i)
- {
- std::cout<< u01() << std::endl;
- }
- }
【Boost】boost库的随机数的例子
最新推荐文章于 2024-10-24 20:57:16 发布