DivMod calls (big.Int).DivMod.
(x, y, m *BigInt)
| 522 | |
| 523 | // DivMod calls (big.Int).DivMod. |
| 524 | func (z *BigInt) DivMod(x, y, m *BigInt) (*BigInt, *BigInt) { |
| 525 | var tmp1, tmp2, tmp3, tmp4 big.Int //gcassert:noescape |
| 526 | zi := z.inner(&tmp1) |
| 527 | mi := m.inner(&tmp2) |
| 528 | // NOTE: innerOrAlias for the y param because (big.Int).DivMod needs to |
| 529 | // detect when y is aliased to the receiver. |
| 530 | zi.DivMod(x.inner(&tmp3), y.innerOrAlias(&tmp4, z, zi), mi) |
| 531 | z.updateInner(zi) |
| 532 | m.updateInner(mi) |
| 533 | return z, m |
| 534 | } |
| 535 | |
| 536 | // Exp calls (big.Int).Exp. |
| 537 | func (z *BigInt) Exp(x, y, m *BigInt) *BigInt { |