public uint DivMod(uint uDen) {
if (uDen == 1) {
return 0;
}
if (this._iuLast == 0) {
uint num = this._uSmall;
this._uSmall = num / uDen;
return (num % uDen);
}
this.EnsureWritable();
ulong num2 = 0L;
for (int i = this._iuLast; i >= 0; i--) {
num2 = NumericsHelpers.MakeUlong((uint)num2, this._rgu[i]);
this._rgu[i] = (uint)(num2 / ((ulong)uDen));
num2 = num2 % ((ulong)uDen);
}
this.Trim();
return (uint)num2;
}