diff options
Diffstat (limited to 'libtommath/bn_mp_and.c')
-rw-r--r-- | libtommath/bn_mp_and.c | 67 |
1 files changed, 34 insertions, 33 deletions
diff --git a/libtommath/bn_mp_and.c b/libtommath/bn_mp_and.c index 02bef18..789bb58 100644 --- a/libtommath/bn_mp_and.c +++ b/libtommath/bn_mp_and.c @@ -1,4 +1,4 @@ -#include <tommath.h> +#include "tommath_private.h" #ifdef BN_MP_AND_C /* LibTomMath, multiple-precision integer library -- Tom St Denis * @@ -9,45 +9,46 @@ * Michael Fromberger but has been written from scratch with * additional optimizations in place. * - * The library is free for all purposes without any express - * guarantee it works. - * - * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com + * SPDX-License-Identifier: Unlicense */ /* AND two ints together */ -int -mp_and (mp_int * a, mp_int * b, mp_int * c) +int mp_and(const mp_int *a, const mp_int *b, mp_int *c) { - int res, ix, px; - mp_int t, *x; + int res, ix, px; + mp_int t; + const mp_int *x; - if (a->used > b->used) { - if ((res = mp_init_copy (&t, a)) != MP_OKAY) { - return res; - } - px = b->used; - x = b; - } else { - if ((res = mp_init_copy (&t, b)) != MP_OKAY) { - return res; - } - px = a->used; - x = a; - } + if (a->used > b->used) { + if ((res = mp_init_copy(&t, a)) != MP_OKAY) { + return res; + } + px = b->used; + x = b; + } else { + if ((res = mp_init_copy(&t, b)) != MP_OKAY) { + return res; + } + px = a->used; + x = a; + } - for (ix = 0; ix < px; ix++) { - t.dp[ix] &= x->dp[ix]; - } + for (ix = 0; ix < px; ix++) { + t.dp[ix] &= x->dp[ix]; + } - /* zero digits above the last from the smallest mp_int */ - for (; ix < t.used; ix++) { - t.dp[ix] = 0; - } + /* zero digits above the last from the smallest mp_int */ + for (; ix < t.used; ix++) { + t.dp[ix] = 0; + } - mp_clamp (&t); - mp_exch (c, &t); - mp_clear (&t); - return MP_OKAY; + mp_clamp(&t); + mp_exch(c, &t); + mp_clear(&t); + return MP_OKAY; } #endif + +/* ref: $Format:%D$ */ +/* git commit: $Format:%H$ */ +/* commit time: $Format:%ai$ */ |