30 writes to _iuLast
System.Numerics (30)
System\Numerics\BigIntegerBuilder.cs (30)
74_iuLast = 0; 91_iuLast = 0; 95_iuLast = _rgu.Length - 1; 98--_iuLast; 112_iuLast = 0; 116_iuLast = _rgu.Length - 1; 119--_iuLast; 181_iuLast = 0; 189_iuLast = 0; 229while (--_iuLast > 0 && _rgu[_iuLast] == 0) 253_iuLast = 0; 260_iuLast = cu - 1; 270_iuLast = 0; 280_iuLast = cu - 1; 294_iuLast = 0; 311_iuLast = cu - 1; 328_iuLast = cu - 1; 371_iuLast = 0; 378_iuLast = reg._iuLast; 436_iuLast = reg._iuLast; 510_iuLast = BigInteger.GetDiffLength(_rgu, reg._rgu, _iuLast + 1) - 1; 512_iuLast = 0; 532reg._iuLast = _iuLast; 534reg._iuLast = cuSub - 1; 569_iuLast = reg._iuLast; 889regNum._iuLast = iu + cuDen - 1; 901regNum._iuLast = cuDen - 1; 937_iuLast -= cuShift; 1009_iuLast = iuLastNew; 1039_rgu[++_iuLast] = 1;
174 references to _iuLast
System.Numerics (174)
System\Numerics\BigIntegerBuilder.cs (174)
40if (_iuLast <= 0) { 41Contract.Assert(_iuLast == 0); 45Contract.Assert(_rgu != null && _rgu.Length > _iuLast); 46Contract.Assert(!fTrimmed || _rgu[_iuLast] != 0); 65if (_iuLast == 0) 97while (_iuLast > 0 && _rgu[_iuLast] == 0) 118while (_iuLast > 0 && _rgu[_iuLast] == 0) 137if (_iuLast == 0) { 154int cuExtra = _rgu.Length - _iuLast - 1; 157if (cuExtra == 0 || _rgu[_iuLast + 1] == 0) { 163_rgu[_iuLast + 1] = 0; 174Array.Resize(ref bits, _iuLast + 1); 199public int Size { get { return _iuLast + 1; } } 201public uint High { get { return _iuLast == 0 ? _uSmall : _rgu[_iuLast]; } } 206if (_iuLast == 0) { 212int cuLeft = _iuLast - 1; 227if (_iuLast > 0 && _rgu[_iuLast] == 0) { 229while (--_iuLast > 0 && _rgu[_iuLast] == 0) 237Contract.Assert(_iuLast > 0); 239for (int iu = _iuLast; iu >= 0; --iu) { 292if (_iuLast > 0) 299if (_iuLast == 0) 302Array.Copy(_rgu, rgu, Math.Min(cu, _iuLast + 1)); 306else if (_iuLast + 1 < cu) { 307Array.Clear(_rgu, _iuLast + 1, cu - _iuLast - 1); 308if (_iuLast == 0) 326if (_iuLast > 0) { 327if (_iuLast >= cu) 329Array.Copy(_rgu, rgu, _iuLast + 1); 341Contract.Assert(_iuLast > 0); 346uint[] rgu = new uint[_iuLast + 1 + cuExtra]; 347Array.Copy(_rgu, rgu, _iuLast + 1); 369if (reg._iuLast == 0) { 374if (!_fWritable || _rgu.Length <= reg._iuLast) { 375_rgu = new uint[reg._iuLast + 1 + cuExtra]; 378_iuLast = reg._iuLast; 379Array.Copy(reg._rgu, _rgu, _iuLast + 1); 386if (_iuLast == 0) { 414if (reg._iuLast == 0) { 418if (_iuLast == 0) { 429EnsureWritable(Math.Max(_iuLast, reg._iuLast) + 1, 1); 431int cuAdd = reg._iuLast + 1; 432if (_iuLast < reg._iuLast) { 433cuAdd = _iuLast + 1; 434Array.Copy(reg._rgu, _iuLast + 1, _rgu, _iuLast + 1, reg._iuLast - _iuLast); 435Contract.Assert(_iuLast > 0); 436_iuLast = reg._iuLast; 455if (_iuLast == 0) { 485if (reg._iuLast == 0) { 489if (_iuLast == 0) { 501if (_iuLast < reg._iuLast) { 507int cuSub = reg._iuLast + 1; 508if (_iuLast == reg._iuLast) { 510_iuLast = BigInteger.GetDiffLength(_rgu, reg._rgu, _iuLast + 1) - 1; 511if (_iuLast < 0) { 517uint u1 = _rgu[_iuLast]; 518uint u2 = reg._rgu[_iuLast]; 519if (_iuLast == 0) { 531Contract.Assert(_iuLast > 0); 532reg._iuLast = _iuLast; 535Contract.Assert(reg._iuLast > 0); 539cuSub = _iuLast + 1; 551Contract.Assert(uBorrow == 1 && cuSub <= _iuLast); 560Contract.Assert(0 < _iuLast && _iuLast <= reg._iuLast); 561Contract.Assert(_iuLast < reg._iuLast || _rgu[_iuLast] < reg._rgu[_iuLast]); 563EnsureWritable(reg._iuLast + 1, 0); 565int cuSub = _iuLast + 1; 566if (_iuLast < reg._iuLast) { 567Array.Copy(reg._rgu, _iuLast + 1, _rgu, _iuLast + 1, reg._iuLast - _iuLast); 568Contract.Assert(_iuLast > 0); 569_iuLast = reg._iuLast; 592if (_iuLast == 0) { 600for (int iu = 0; iu <= _iuLast; iu++) 604SetSizeKeep(_iuLast + 2, 0); 605_rgu[_iuLast] = uCarry; 614if (regMul._iuLast == 0) 616else if (_iuLast == 0) { 626int cuBase = _iuLast + 1; 627SetSizeKeep(cuBase + regMul._iuLast, 1); 633for (int iuSrc = 0; iuSrc <= regMul._iuLast; iuSrc++) 636for (int iuDst = iu + regMul._iuLast + 1; uCarry != 0 && iuDst <= _iuLast; iuDst++) 639SetSizeKeep(_iuLast + 2, 0); 640_rgu[_iuLast] = uCarry; 656if (reg1._iuLast == 0) { 657if (reg2._iuLast == 0) 664else if (reg2._iuLast == 0) { 669Contract.Assert(reg1._iuLast > 0 && reg2._iuLast > 0); 670SetSizeClear(reg1._iuLast + reg2._iuLast + 2); 677rgu1 = reg1._rgu; cu1 = reg1._iuLast + 1; 678rgu2 = reg2._rgu; cu2 = reg2._iuLast + 1; 681rgu1 = reg2._rgu; cu1 = reg2._iuLast + 1; 682rgu2 = reg1._rgu; cu2 = reg1._iuLast + 1; 707if (_iuLast == 0) { 716for (int iv = _iuLast; iv >= 0; iv--) { 731if (regNum._iuLast == 0) 735for (int iv = regNum._iuLast; iv >= 0; iv--) { 747if (regDen._iuLast == 0) { 751if (_iuLast == 0) 763if (regDen._iuLast == 0) { 767if (_iuLast == 0) { 779if (regDen._iuLast == 0) { 784if (_iuLast == 0) 791Contract.Assert(regNum._iuLast > 0 && regDen._iuLast > 0); 794if (regNum._iuLast < regDen._iuLast) 797Contract.Assert(0 < regDen._iuLast && regDen._iuLast <= regNum._iuLast); 798int cuDen = regDen._iuLast + 1; 799int cuDiff = regNum._iuLast - regDen._iuLast; 803for (int iu = regNum._iuLast; ; iu--) { 835Contract.Assert(cuQuo + cuDen == regNum._iuLast + 1 || cuQuo + cuDen == regNum._iuLast + 2); 840uint uNumHi = (iu + cuDen <= regNum._iuLast) ? regNum._rgu[iu + cuDen] : 0; 900Contract.Assert(cuDen > 1 && regNum._iuLast > 0); 925if (cuShift > _iuLast) { 929if (_iuLast == 0) { 936int cuSrc = _iuLast + 1; 938if (_iuLast == 0) 941Contract.Assert(_rgu.Length > _iuLast); 943_rgu = new uint[_iuLast + 1]; 949_rgu[_iuLast] = rguSrc[cuSrc - 1] >> cbitShift; 953Array.Copy(rguSrc, cuShift, _rgu, 0, _iuLast + 1); 974int iuLastNew = _iuLast + cuShift; 993if (_iuLast == 0) { 999Array.Copy(rguSrc, 0, _rgu, cuShift, _iuLast + 1); 1001int iuSrc = _iuLast; 1002int iuDst = _iuLast + cuShift; 1018Contract.Assert(_iuLast > 0); 1019Contract.Assert(cu > _iuLast); 1021if (cu - 1 <= _iuLast) 1023if (cu - 2 == _iuLast) 1032Contract.Assert(_fWritable && _iuLast > 0); 1033Contract.Assert(iu <= _iuLast + 1); 1036if (iu > _iuLast) { 1037if (_iuLast + 1 == _rgu.Length) 1038Array.Resize(ref _rgu, _iuLast + 2); 1050Contract.Assert(_fWritable && _iuLast > 0); 1051Contract.Assert(iuMin <= _iuLast); 1053for (int iu = iuMin; iu <= _iuLast; iu++) { 1097if (reg1._iuLast > 0 && reg1._rgu[0] == 0 || reg2._iuLast > 0 && reg2._rgu[0] == 0) { 1123int cuMax = reg1._iuLast + 1; 1124int cuMin = reg2._iuLast + 1; 1129Contract.Assert(cuMax == reg1._iuLast + 1); 1130Contract.Assert(cuMin == reg2._iuLast + 1); 1178Contract.Assert(reg1._iuLast < cuMin - 1); 1306if (_iuLast == 0) {