我试图使用以下公式实现减法滞后斐波那契随机数生成器:=([[?]?[?])
但是有时候它会产生负数。在互联网上搜索了几天之后,我的代码中找不到任何答案或错误。你们中的任何一个都可以帮助我了解我在做什么错吗?
class LaggedFibonaci_RNG : IRandomNUmberGenerator
{
private double[] initArray = null;
private int j = 1029;
private int k = 2281;
private int n = 0;
private double m = Math.Pow(2, 32);
private double Xn = DateTime.Now.Millisecond;
Random rand = new Random();
public LaggedFibonaci_RNG()
{
n = k;
initArray = new double[n];
// create initial array
for (int i = 0; i < initArray.Length; i++)
{
initArray[i] = rand.Next();
}
}
public double GenerateNextRandomNumber()
{
double randomNumber = 0; …Run Code Online (Sandbox Code Playgroud)