/*输入参数:随机数位数*/
/*输出参数:随机数*/
boost::mt19937 m_oBoostRandomSeed_;
GetRandomNumber(int nDigits)
{
double dRangeMin = pow((double)10,nDigits);
double dRangeMax = pow((double)10,nDigits+1) -1 ;
boost::uniform_int<> range(static_cast<int>(dRangeMin),static_cast<int>(dRangeMax));
boost::variate_generator<boost::mt19937&,boost::uniform_int<> > genRandom(m_oBoostRandomSeed_,range);
return genRandom();
}
生成器列表见:
http://www.boost.org/doc/libs/1_46_1/doc/html/boost_random/reference.html#boost_random.reference.generators
分享到:
相关推荐
在上述代码中,`MT19937`类包含了初始化和生成随机数的方法。`initialize()`函数根据给定的种子值设置状态数组,`generate()`函数则根据MT算法的规则生成下一个随机数。当状态数组中的随机数用完时,`twist()`方法会...
10. **数学与随机数** (Mathematics and Random Numbers):Boost.Math库包含了一些高级数学函数和随机数生成器。 11. **序列化** (Serialization):Boost.Serialization库允许将C++对象序列化为XML或二进制格式,...
7. **数学和数值计算**:Boost.Math库提供了超越标准库的数学函数,如特殊函数、随机数生成等。还有Ublas库提供了类似BLAS(基础线性代数子程序)的功能,用于高效矩阵运算。 8. **文件系统**:Boost.Filesystem库...
7. **数学与统计**:Boost.Math库包含了各种数学函数和统计工具,如高精度计算、特殊函数和随机数生成器。 8. **序列化**:Boost.Serialization库允许将数据结构序列化为文件或内存流,便于保存和恢复状态。 9. **...
最后,Boost 库还包括很多其他组件,如 Boost.Random 用于随机数生成,Boost.Test 为单元测试提供便利,Boost.Contract 提供了合同编程的支持,等等。 总之,《深入实践Boost:Boost程序库开发的94个秘笈》涵盖了 ...
1. **Boost.Math**:这个模块包含了一系列数学函数和算法,如特殊函数、统计计算、随机数生成等。在OpenMVS中,可能会用于几何计算、物理模拟或图像处理的数学运算。 2. **Boost.Geometry**:提供了一套用于2D和3D...
8. **数学与数值计算**:Boost.Math提供了各种数学函数和常数,以及用于数值计算的工具,如随机数生成、统计分析等。 9. **文件系统操作**:Boost.Filesystem提供了一套接口,用于处理文件和目录,简化了文件操作的...
例如,Boost包含了大量的工具和类,用于线程管理、智能指针、正则表达式处理、图形算法、日期时间操作、文件系统交互、数学和随机数生成等。这些库在设计时充分考虑了泛型编程和元编程,使得它们能适应各种不同的...
8. **数学和随机数库**:如`math`库提供了统计学和特殊函数,`random`库提供了随机数生成器。 9. **泛型编程**:`mpl`(元编程库)允许在编译时进行计算,增强了模板元编程的能力。 10. **字符串算法**:`locale`...
9. **数学和统计**:如`random`库提供了各种随机数生成器,`geometry`库则提供了几何计算功能。 10. **类型识别和元编程**:如`type_traits`库用于获取和操作类型信息,`mpl`元编程库则允许在编译时进行计算。 11....
Boost.Random提供了高质量的随机数生成器,满足科学研究和模拟仿真等领域的需要。 此外,书中还深入讲解了Boost库中的其他重要组件,如Boost.Serialization用于序列化和反序列化,Boost.Date_Time处理日期和时间,...
3. **Boost.Random**:增强了随机数生成器的功能,增加了更多的分布类型和算法选项。 4. **Boost.Signals2**:对Boost.Signals的升级版,提供了更好的性能和异常安全性。 5. **Boost.PropertyTree**:用于解析配置...
- **数学和随机数**(Math and Random Numbers):提供高级数学函数和随机数生成器。 - **序列化**(Serialization):允许对象的状态在内存和文件之间进行序列化和反序列化。 使用Boost库,开发者可以利用这些现成...
10. 数学和随机数:`boost::math`库提供了高级数学函数,而`boost::random`库则提供了多种随机数生成器。 11. 泛型迭代器:`boost::iterator`库提供了用于构建自定义迭代器的工具,增强了迭代器的灵活性。 12. ...
4. **数学库**:Boost.Math库提供了各种数学函数,包括特殊函数、随机数生成器、统计学工具等,对于科学计算和数据分析非常有用。 5. **日期时间处理**:Boost.DateTime库提供了日期和时间的处理,包括日期的计算、...
10. **数学和统计库**(Math, Random, Test, Graph, Locale等):涵盖了广泛的数学运算、随机数生成、单元测试、图论算法以及本地化等功能。 在Windows 10环境下编译Boost静态库,通常需要以下步骤: 1. 下载Boost...
8. **数学和统计**:Boost.Math库提供了各种数学函数和统计工具,如高精度计算、特殊函数、随机数生成等。 9. **序列化**:Boost.Serialization库可以将对象的状态保存到文件或流中,以便于以后恢复,这对于持久化...
Boost库包含了众多不同类型的组件,如智能指针、多线程支持、图形算法、模板元编程、容器和迭代器扩展、函数对象绑定、日期时间处理、正则表达式、序列化、随机数生成等。每个组件都经过精心设计,旨在提高代码的...
9. **数学和统计**:Boost.Math库包含了各种数学函数和统计工具,如高精度计算、随机数生成器等。 10. **图形界面**:虽然不常用,Boost.Signals库提供了信号和槽机制,用于组件之间的通信,而Boost.Graph库则支持...