summaryrefslogtreecommitdiff
path: root/mpz
diff options
context:
space:
mode:
authorMarco Bodrato <bodrato@mail.dm.unipi.it>2018-07-19 08:02:49 +0200
committerMarco Bodrato <bodrato@mail.dm.unipi.it>2018-07-19 08:02:49 +0200
commit02be51d31564a0dc07f6723be66fb5e69f68efa4 (patch)
treed278162c43c661ad9974595b84f401f862f64ed1 /mpz
parentf83a207dd6de75ae339022f721b7d88a7e070353 (diff)
downloadgmp-02be51d31564a0dc07f6723be66fb5e69f68efa4.tar.gz
mpz/powm_ui.c: Avoid a COPY
Diffstat (limited to 'mpz')
-rw-r--r--mpz/powm_ui.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/mpz/powm_ui.c b/mpz/powm_ui.c
index 7d3644dc6..cfab66da8 100644
--- a/mpz/powm_ui.c
+++ b/mpz/powm_ui.c
@@ -251,17 +251,12 @@ mpz_powm_ui (mpz_ptr r, mpz_srcptr b, unsigned long int el, mpz_srcptr m)
cy = mpn_lshift (tp, xp, xn, m_zero_cnt);
tp[xn] = cy; xn += cy != 0;
- if (xn < mn)
- {
- MPN_COPY (xp, tp, xn);
- }
- else
+ if (xn >= mn)
{
mod (tp, xn, mp, mn, &dinv, scratch);
- MPN_COPY (xp, tp, mn);
xn = mn;
}
- mpn_rshift (xp, xp, xn, m_zero_cnt);
+ mpn_rshift (xp, tp, xn, m_zero_cnt);
}
MPN_NORMALIZE (xp, xn);