1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #include <tommath.h>
- #ifdef BN_MP_ADD_C
- int mp_add (mp_int * a, mp_int * b, mp_int * c)
- {
- int sa, sb, res;
-
- sa = a->sign;
- sb = b->sign;
-
- if (sa == sb) {
-
-
- c->sign = sa;
- res = s_mp_add (a, b, c);
- } else {
-
-
-
-
- if (mp_cmp_mag (a, b) == MP_LT) {
- c->sign = sb;
- res = s_mp_sub (b, a, c);
- } else {
- c->sign = sa;
- res = s_mp_sub (a, b, c);
- }
- }
- return res;
- }
- #endif
|