diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-09-18 08:31:55 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-09-18 08:31:55 (GMT) |
commit | a187f65cfd5964971d7ed52f09e18fdbb4bf51cc (patch) | |
tree | 6b7bbde03122d1571d4543d10eccfe88610bd680 /libtommath/bn_mp_import.c | |
parent | 0faaca01de4e9fa2039c7fdd34f60b138f665249 (diff) | |
parent | 30f7e69b182d1267056ee2628a860891f6555aa3 (diff) | |
download | tcl-a187f65cfd5964971d7ed52f09e18fdbb4bf51cc.zip tcl-a187f65cfd5964971d7ed52f09e18fdbb4bf51cc.tar.gz tcl-a187f65cfd5964971d7ed52f09e18fdbb4bf51cc.tar.bz2 |
Merge libtommath upstream changes (astyle formatting only). No functional changes. All Tcl-specific modifications are kept.
Diffstat (limited to 'libtommath/bn_mp_import.c')
-rw-r--r-- | libtommath/bn_mp_import.c | 75 |
1 files changed, 38 insertions, 37 deletions
diff --git a/libtommath/bn_mp_import.c b/libtommath/bn_mp_import.c index df29389..50bee2e 100644 --- a/libtommath/bn_mp_import.c +++ b/libtommath/bn_mp_import.c @@ -18,52 +18,53 @@ /* based on gmp's mpz_import. * see http://gmplib.org/manual/Integer-Import-and-Export.html */ -int mp_import(mp_int* rop, size_t count, int order, size_t size, - int endian, size_t nails, const void* op) { - int result; - size_t odd_nails, nail_bytes, i, j; - unsigned char odd_nail_mask; +int mp_import(mp_int *rop, size_t count, int order, size_t size, + int endian, size_t nails, const void *op) +{ + int result; + size_t odd_nails, nail_bytes, i, j; + unsigned char odd_nail_mask; - mp_zero(rop); + mp_zero(rop); - if (endian == 0) { - union { - unsigned int i; - char c[4]; - } lint; - lint.i = 0x01020304; + if (endian == 0) { + union { + unsigned int i; + char c[4]; + } lint; + lint.i = 0x01020304; - endian = (lint.c[0] == 4) ? -1 : 1; - } + endian = (lint.c[0] == 4) ? -1 : 1; + } - odd_nails = (nails % 8); - odd_nail_mask = 0xff; - for (i = 0; i < odd_nails; ++i) { - odd_nail_mask ^= (1 << (7 - i)); - } - nail_bytes = nails / 8; + odd_nails = (nails % 8); + odd_nail_mask = 0xff; + for (i = 0; i < odd_nails; ++i) { + odd_nail_mask ^= (1 << (7 - i)); + } + nail_bytes = nails / 8; - for (i = 0; i < count; ++i) { - for (j = 0; j < (size - nail_bytes); ++j) { - unsigned char byte = *( - (unsigned char*)op + - (((order == 1) ? i : ((count - 1) - i)) * size) + - ((endian == 1) ? (j + nail_bytes) : (((size - 1) - j) - nail_bytes)) - ); + for (i = 0; i < count; ++i) { + for (j = 0; j < (size - nail_bytes); ++j) { + unsigned char byte = *( + (unsigned char *)op + + (((order == 1) ? i : ((count - 1) - i)) * size) + + ((endian == 1) ? (j + nail_bytes) : (((size - 1) - j) - nail_bytes)) + ); - if ( - (result = mp_mul_2d(rop, ((j == 0) ? (8 - odd_nails) : 8), rop)) != MP_OKAY) { - return result; - } + if ( + (result = mp_mul_2d(rop, ((j == 0) ? (8 - odd_nails) : 8), rop)) != MP_OKAY) { + return result; + } - rop->dp[0] |= (j == 0) ? (byte & odd_nail_mask) : byte; - rop->used += 1; - } - } + rop->dp[0] |= (j == 0) ? (byte & odd_nail_mask) : byte; + rop->used += 1; + } + } - mp_clamp(rop); + mp_clamp(rop); - return MP_OKAY; + return MP_OKAY; } #endif |