示例#1
0
 public int DualFibonacci()
 {
     if (prandDoubler == null)
     {
         prandDoubler = new RPseudoRandI();
         prandDoubler.Iterate(iDualIterationOffset);
     }
     return(RMath.SafeAdd(prandDoubler.Fibonacci(), Fibonacci()));
 }
示例#2
0
 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;
 }
示例#3
0
 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);
 }