public int DualFibonacci() { if (prandDoubler == null) { prandDoubler = new RPseudoRandI(); prandDoubler.Iterate(iDualIterationOffset); } return(RMath.SafeAdd(prandDoubler.Fibonacci(), Fibonacci())); }
public void ResetDualFibonacci(int iIterations, int offset) { if (offset < 0) { offset = 0; } iDualIterationOffset = iIterations; prandDoubler = new RPseudoRandI(); prandDoubler.fibonacciprev = offset; prandDoubler.Iterate(iDualIterationOffset); xDualFibonacciOffset = offset; }
public void ResetDualFibonacciToRPseudoRandom(int iIterations, int limit) { if (limit < 0) { limit = 0; } iDualIterationOffset = iIterations; if (prandDoubler == null) { prandDoubler = new RPseudoRandI(); } prandDoubler.ResetFibonacciToRPseudoRandom(limit); prandDoubler.Iterate(iIterations); xDualFibonacciOffset = RMath.SafeSubtract(prandDoubler.fibonacciprev, fibonacciprev); }