2 instantiations of PowersOf1e9
System.Runtime.Numerics (2)
System\Number.BigInteger.cs (2)
422
PowersOf1e9 powersOf1e9 = new
PowersOf1e9
(powersOf1e9Buffer);
995
PowersOf1e9 powersOf1e9 = new
PowersOf1e9
(powersOf1e9Buffer);
27 references to PowersOf1e9
System.Runtime.Numerics (27)
System\Number.BigInteger.cs (27)
356
int base1E9Length = (intDigits.Length +
PowersOf1e9
.MaxPartialDigits - 1) /
PowersOf1e9
.MaxPartialDigits;
363
ReadOnlySpan<byte> leadingDigits = intDigits[..(intDigits.Length %
PowersOf1e9
.MaxPartialDigits)];
370
Debug.Assert(intDigits.Length %
PowersOf1e9
.MaxPartialDigits == 0);
374
uint.TryParse(intDigits.Slice(0,
PowersOf1e9
.MaxPartialDigits), out base1E9[di]);
375
intDigits = intDigits.Slice(
PowersOf1e9
.MaxPartialDigits);
412
int valueDigits = (base1E9.Length - 1) *
PowersOf1e9
.MaxPartialDigits + FormattingHelpers.CountDigits(base1E9[^1]);
414
int powersOf1e9BufferLength =
PowersOf1e9
.GetBufferSize(Math.Max(valueDigits, trailingZeroCount + 1), out int maxIndex);
422
PowersOf1e9
powersOf1e9 = new PowersOf1e9(powersOf1e9Buffer);
426
int leadingLength = checked((int)(digitRatio *
PowersOf1e9
.MaxPartialDigits * base1E9.Length) + 3);
451
static void Recursive(in
PowersOf1e9
powersOf1e9, int powersOf1e9Index, ReadOnlySpan<uint> base1E9, Span<uint> bits)
469
int multiplierTrailingZeroCount =
PowersOf1e9
.OmittedLength(powersOf1e9Index);
473
int bufferLength = checked((int)(digitRatio *
PowersOf1e9
.MaxPartialDigits * multiplier1E9Length) + 1 + 2);
509
int trailingPartialCount = Math.DivRem(trailingZeroCount,
PowersOf1e9
.MaxPartialDigits, out int remainingTrailingZeroCount);
512
uint carry = MultiplyAdd(bits.Slice(0, resultLength),
PowersOf1e9
.TenPowMaxPartial, 0);
537
uint carry = MultiplyAdd(bits.Slice(0, resultLength),
PowersOf1e9
.TenPowMaxPartial, base1E9[i]);
829
int valueDigits = (base1E9Value.Length - 1) *
PowersOf1e9
.MaxPartialDigits + FormattingHelpers.CountDigits(base1E9Value[^1]);
963
bufferEnd = UInt32ToDecChars(bufferEnd, base1E9Value[i],
PowersOf1e9
.MaxPartialDigits);
964
digits -=
PowersOf1e9
.MaxPartialDigits;
987
PowersOf1e9
.FloorBufferSize(bits.Length, out int powersOf1e9BufferLength, out int maxIndex);
995
PowersOf1e9
powersOf1e9 = new PowersOf1e9(powersOf1e9Buffer);
1004
static void DivideAndConquer(in
PowersOf1e9
powersOf1e9, int powersIndex, ReadOnlySpan<uint> bits, Span<uint> base1E9Buffer, out int base1E9Written)
1016
int omittedLength =
PowersOf1e9
.OmittedLength(powersIndex);
1022
omittedLength =
PowersOf1e9
.OmittedLength(powersIndex);
1079
Debug.Assert(base1E9[iuDst] <
PowersOf1e9
.TenPowMaxPartial);
1083
(ulong quo, ulong rem) = Math.DivRem(uuRes,
PowersOf1e9
.TenPowMaxPartial);
1089
(uCarry, base1E9Buffer[base1E9Written++]) = Math.DivRem(uCarry,
PowersOf1e9
.TenPowMaxPartial);