Beispiel #1
0
 private Parameter(Bellard.Parameter p)
 {
     this.isplus  = !p.isplus;
     this.j       = p.j + (p.deltaN >> 1);
     this.deltaN  = p.deltaN;
     this.deltaE  = p.deltaE;
     this.offsetE = p.offsetE + (p.deltaE >> 1);
 }
Beispiel #2
0
            /// <summary>Constructor</summary>
            private Sum(long b, Bellard.Parameter p, int nParts, IList <T> existing)
            {
                if (b < 0)
                {
                    throw new ArgumentException("b = " + b + " < 0");
                }
                if (nParts < 1)
                {
                    throw new ArgumentException("nParts = " + nParts + " < 1");
                }
                long i = p.j == 1 && p.offsetE >= 0 ? 1 : 0;
                long e = b + i * p.deltaE + p.offsetE;
                long n = i * p.deltaN + p.j;

                this.parameter = p;
                this.sigma     = new Summation(n, p.deltaN, e, p.deltaE, 0);
                this.parts     = Partition(sigma, nParts, existing);
                this.tail      = new Bellard.Sum.Tail(this, n, e);
            }