diff options
author | Damien George <damien.p.george@gmail.com> | 2017-04-25 12:22:04 +1000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2017-04-25 12:22:04 +1000 |
commit | f85fd79c6c37cdbd32d9edc37efc985f1f4bc3bb (patch) | |
tree | ea51329a680b390c6e9928f85c7a0ab61a8d1940 /py | |
parent | 810133d97d4391151e86af90508222c480f362b7 (diff) | |
download | micropython-f85fd79c6c37cdbd32d9edc37efc985f1f4bc3bb.tar.gz micropython-f85fd79c6c37cdbd32d9edc37efc985f1f4bc3bb.zip |
py/mpz: In mpn_sub, use existing function to remove trailing zeros.
Diffstat (limited to 'py')
-rw-r--r-- | py/mpz.c | 17 |
1 files changed, 7 insertions, 10 deletions
@@ -49,6 +49,12 @@ Definition of normalise: ? */ +STATIC size_t mpn_remove_trailing_zeros(mpz_dig_t *oidig, mpz_dig_t *idig) { + for (--idig; idig >= oidig && *idig == 0; --idig) { + } + return idig + 1 - oidig; +} + /* compares i with j returns sign(i - j) assumes i, j are normalised @@ -190,16 +196,7 @@ STATIC size_t mpn_sub(mpz_dig_t *idig, const mpz_dig_t *jdig, size_t jlen, const borrow >>= DIG_SIZE; } - for (--idig; idig >= oidig && *idig == 0; --idig) { - } - - return idig + 1 - oidig; -} - -STATIC size_t mpn_remove_trailing_zeros(mpz_dig_t *oidig, mpz_dig_t *idig) { - for (--idig; idig >= oidig && *idig == 0; --idig) { - } - return idig + 1 - oidig; + return mpn_remove_trailing_zeros(oidig, idig); } #if MICROPY_OPT_MPZ_BITWISE |