Rem calls (big.Int).Rem.
(x, y *BigInt)
| 798 | |
| 799 | // Rem calls (big.Int).Rem. |
| 800 | func (z *BigInt) Rem(x, y *BigInt) *BigInt { |
| 801 | if xVal, xNeg, ok := x.innerAsUint64(); ok { |
| 802 | if yVal, yNeg, ok := y.innerAsUint64(); ok { |
| 803 | if remVal, remNeg, ok := remInline(xVal, yVal, xNeg, yNeg); ok { |
| 804 | z.updateInnerFromUint64(remVal, remNeg) |
| 805 | return z |
| 806 | } |
| 807 | } |
| 808 | } |
| 809 | var tmp1, tmp2, tmp3 big.Int //gcassert:noescape |
| 810 | zi := z.inner(&tmp1) |
| 811 | zi.Rem(x.inner(&tmp2), y.inner(&tmp3)) |
| 812 | z.updateInner(zi) |
| 813 | return z |
| 814 | } |
| 815 | |
| 816 | // Rsh calls (big.Int).Rsh. |
| 817 | func (z *BigInt) Rsh(x *BigInt, n uint) *BigInt { |