C++: Get A Normal Distribution Random Number
作者:XD / 发表: 2020年7月24日 04:11 / 更新: 2020年7月24日 04:31 / 编程笔记 / 阅读量:1900
C++: Get A Normal Distribution Random Number
#include < random>
using namespace std;
int GetRamdomNumber(double std=2)
{
//work with VS2017, cannot compile in Linux
random_device rd;
mt19937 generator(rd());
std::normal_distribution distribution(0, std);
double rand_num = distribution(generator);
//double rand_num = GenerateGaussianNoise(0, std);
if (rand_num > 3 * std)
{
rand_num = 3 * std;
}
else if (rand_num < -3 * std)
{
rand_num = -3 * std;
}
/*int number = std::lround(rand_num);*/
return rand_num;
}
相关标签