refactor without bitwise operator
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
diff --git a/bn_mp_tc_and.c b/bn_mp_tc_and.c
index 02e43ac..e9fe4c6 100644
--- a/bn_mp_tc_and.c
+++ b/bn_mp_tc_and.c
@@ -17,7 +17,7 @@
int mp_tc_and(const mp_int *a, const mp_int *b, mp_int *c)
{
int res = MP_OKAY, bits;
- int as = mp_isneg(a), bs = mp_isneg(b), s = 0;
+ int as = mp_isneg(a), bs = mp_isneg(b);
mp_int *mx = NULL, _mx, acpy, bcpy;
if ((as != MP_NO) || (bs != MP_NO)) {
@@ -62,9 +62,8 @@ int mp_tc_and(const mp_int *a, const mp_int *b, mp_int *c)
}
res = mp_and(a, b, c);
- s = as & bs;
- if (s && res == MP_OKAY) {
+ if ((as != MP_NO) && (bs != MP_NO) && (res == MP_OKAY)) {
res = mp_sub(c, mx, c);
}
diff --git a/bn_mp_tc_or.c b/bn_mp_tc_or.c
index 549a328..91b6b40 100644
--- a/bn_mp_tc_or.c
+++ b/bn_mp_tc_or.c
@@ -17,7 +17,7 @@
int mp_tc_or(const mp_int *a, const mp_int *b, mp_int *c)
{
int res = MP_OKAY, bits;
- int as = mp_isneg(a), bs = mp_isneg(b), s = 0;
+ int as = mp_isneg(a), bs = mp_isneg(b);
mp_int *mx = NULL, _mx, acpy, bcpy;
if ((as != MP_NO) || (bs != MP_NO)) {
@@ -62,9 +62,8 @@ int mp_tc_or(const mp_int *a, const mp_int *b, mp_int *c)
}
res = mp_or(a, b, c);
- s = as | bs;
- if (s && res == MP_OKAY) {
+ if (((as != MP_NO) || (bs != MP_NO)) && (res == MP_OKAY)) {
res = mp_sub(c, mx, c);
}
diff --git a/bn_mp_tc_xor.c b/bn_mp_tc_xor.c
index 771cfd5..50fb12d 100644
--- a/bn_mp_tc_xor.c
+++ b/bn_mp_tc_xor.c
@@ -17,7 +17,7 @@
int mp_tc_xor(const mp_int *a, const mp_int *b, mp_int *c)
{
int res = MP_OKAY, bits;
- int as = mp_isneg(a), bs = mp_isneg(b), s = 0;
+ int as = mp_isneg(a), bs = mp_isneg(b);
mp_int *mx = NULL, _mx, acpy, bcpy;
if ((as != MP_NO) || (bs != MP_NO)) {
@@ -62,9 +62,8 @@ int mp_tc_xor(const mp_int *a, const mp_int *b, mp_int *c)
}
res = mp_xor(a, b, c);
- s = as ^ bs;
- if (s && res == MP_OKAY) {
+ if ((as != bs) && (res == MP_OKAY)) {
res = mp_sub(c, mx, c);
}