diff options
author | Niels Möller <nisse@lysator.liu.se> | 2005-10-17 22:45:40 +0200 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2005-10-17 22:45:40 +0200 |
commit | 3cba46443c858c862d86661b0c9e2f21570d33a2 (patch) | |
tree | d717b8df20699b8ee0b7494cf7d81ae2a89ef746 /bignum.c | |
parent | 94cb88c09d3c1ac8ffb4bbcfc6eb901eaf725317 (diff) | |
download | nettle-3cba46443c858c862d86661b0c9e2f21570d33a2.tar.gz |
(nettle_mpz_from_octets): Improved loop. Removed the
digit temporary (suggested by Torbjörn Granlund).
Rev: src/nettle/bignum.c:1.8
Diffstat (limited to 'bignum.c')
-rw-r--r-- | bignum.c | 11 |
1 files changed, 4 insertions, 7 deletions
@@ -137,17 +137,14 @@ nettle_mpz_from_octets(mpz_t x, uint8_t sign) { unsigned i; - mpz_t digit; - - mpz_init(digit); + /* FIXME: See if we can use something like + mpz_import(x, length, 1, 1, 0, 0, s). */ for (i = 0; i < length; i++) { - mpz_set_ui(digit, sign ^ s[i]); - mpz_mul_2exp(digit, digit, (length - i - 1) * 8); - mpz_ior(x, x, digit); + mpz_mul_2exp(x, x, 8); + mpz_add_ui(x, x, sign ^ s[i]); } - mpz_clear(digit); } void |