1 instantiation of PowersOf1e9
System.Runtime.Numerics (1)
System\Number.BigInteger.cs (1)
414PowersOf1e9 powersOf1e9 = new PowersOf1e9(powersOf1e9Buffer);
20 references to PowersOf1e9
System.Runtime.Numerics (20)
System\Number.BigInteger.cs (20)
348int base1E9Length = (intDigits.Length + PowersOf1e9.MaxPartialDigits - 1) / PowersOf1e9.MaxPartialDigits; 355ReadOnlySpan<byte> leadingDigits = intDigits[..(intDigits.Length % PowersOf1e9.MaxPartialDigits)]; 362Debug.Assert(intDigits.Length % PowersOf1e9.MaxPartialDigits == 0); 366uint.TryParse(intDigits.Slice(0, PowersOf1e9.MaxPartialDigits), out base1E9[di]); 367intDigits = intDigits.Slice(PowersOf1e9.MaxPartialDigits); 404int valueDigits = (base1E9.Length - 1) * PowersOf1e9.MaxPartialDigits + FormattingHelpers.CountDigits(base1E9[^1]); 406int powersOf1e9BufferLength = PowersOf1e9.GetBufferSize(Math.Max(valueDigits, trailingZeroCount + 1), out int maxIndex); 414PowersOf1e9 powersOf1e9 = new PowersOf1e9(powersOf1e9Buffer); 418int leadingLength = checked((int)(digitRatio * PowersOf1e9.MaxPartialDigits * base1E9.Length) + 3); 443static void Recursive(in PowersOf1e9 powersOf1e9, int powersOf1e9Index, ReadOnlySpan<uint> base1E9, Span<uint> bits) 461int multiplierTrailingZeroCount = PowersOf1e9.OmittedLength(powersOf1e9Index); 465int bufferLength = checked((int)(digitRatio * PowersOf1e9.MaxPartialDigits * multiplier1E9Length) + 1 + 2); 501int trailingPartialCount = Math.DivRem(trailingZeroCount, PowersOf1e9.MaxPartialDigits, out int remainingTrailingZeroCount); 504uint carry = MultiplyAdd(bits.Slice(0, resultLength), PowersOf1e9.TenPowMaxPartial, 0); 529uint carry = MultiplyAdd(bits.Slice(0, resultLength), PowersOf1e9.TenPowMaxPartial, base1E9[i]); 751const uint TenPowMaxPartial = PowersOf1e9.TenPowMaxPartial; 752const int MaxPartialDigits = PowersOf1e9.MaxPartialDigits; 931bufferEnd = UInt32ToDecChars(bufferEnd, base1E9Value[i], PowersOf1e9.MaxPartialDigits); 932digits -= PowersOf1e9.MaxPartialDigits;