public void Div(ref BigIntegerBuilder regDen) {
if (regDen._iuLast == 0) {
this.DivMod(regDen._uSmall);
}
else if (this._iuLast == 0) {
this._uSmall = 0;
}
else {
BigIntegerBuilder regQuo = new BigIntegerBuilder();
ModDivCore(ref this, ref regDen, true, ref regQuo);
#if !(dotNET10 || dotNET11 || dotNETCF10 || dotNETMF)
NumericsHelpers.Swap<BigIntegerBuilder>(ref this, ref regQuo);
#else
NumericsHelpers.Swap(ref this, ref regQuo);
#endif
}
}
/// <summary> /// Divides a specified <see cref="BigInteger" /> value by another specified /// <see cref="BigInteger" /> value by using integer division. /// </summary> /// <returns>The integral result of the division.</returns> /// <param name="dividend">The value to be divided.</param> /// <param name="divisor">The value to divide by.</param> /// <exception cref="DivideByZeroException"> /// <paramref name="divisor" /> is 0 (zero). /// </exception> public static BigInteger operator /(BigInteger dividend, BigInteger divisor) { var sign = 1; var regNum = new BigIntegerBuilder(dividend, ref sign); var regDen = new BigIntegerBuilder(divisor, ref sign); regNum.Div(ref regDen); return(regNum.GetInteger(sign)); }