80 int cmp_res =
vec_cmp(new_und, ud, vnd, vd);
122 int vnb,
int vnd,
const sc_digit *vd)
124 #define CONVERT_SM_to_2C_to_SM convert_signed_SM_to_2C_to_SM 125 #define COPY_DIGITS copy_digits_signed 135 if ((vnd == 1) && (vd0 == 1)) {
140 if ((und == 1) && (ud0 == 1)) {
145 if ((und == 1) && (vnd == 1) &&
149 COPY_DIGITS(us, unb, old_und, ud, unb + vnb, 1, &d);
172 COPY_DIGITS(us, unb, old_und, ud, unb + vnb, nd, d);
179 #undef CONVERT_SM_to_2C_to_SM 185 int vnb,
int vnd,
const sc_digit *vd)
187 #define CONVERT_SM_to_2C_to_SM convert_unsigned_SM_to_2C_to_SM 188 #define COPY_DIGITS copy_digits_unsigned 198 if ((vnd == 1) && (vd0 == 1)) {
203 if ((und == 1) && (ud0 == 1)) {
208 if ((und == 1) && (vnd == 1) &&
212 COPY_DIGITS(us, unb, old_und, ud, unb + vnb, 1, &d);
235 COPY_DIGITS(us, unb, old_und, ud, unb + vnb, nd, d);
242 #undef CONVERT_SM_to_2C_to_SM 252 int vnb,
int vnd,
const sc_digit *vd)
254 #define CONVERT_SM_to_2C_to_SM convert_signed_SM_to_2C_to_SM 255 #define COPY_DIGITS copy_digits_signed 262 int cmp_res =
vec_cmp(und, ud, vnd, vd);
272 if ((cmp_res > 0) && (vnd == 1) && (vd0 == 1)) {
278 int nd =
sc_max(und, vnd) + 1;
291 else if ((vnd == 1) && (und == 1))
305 #undef CONVERT_SM_to_2C_to_SM 311 int vnb,
int vnd,
const sc_digit *vd)
313 #define CONVERT_SM_to_2C_to_SM convert_unsigned_SM_to_2C_to_SM 314 #define COPY_DIGITS copy_digits_unsigned 321 int cmp_res =
vec_cmp(und, ud, vnd, vd);
331 if ((cmp_res > 0) && (vnd == 1) && (vd0 == 1)) {
337 int nd =
sc_max(und, vnd) + 1;
350 else if ((vnd == 1) && (und == 1))
364 #undef CONVERT_SM_to_2C_to_SM 376 #define COPY_DIGITS copy_digits_signed 383 int cmp_res =
vec_cmp(und, ud, vnd, vd);
399 if ((vnd == 1) && (vd0 == 1)) {
406 int nd =
sc_max(und, vnd) + 1;
416 if ((vnd == 1) && (und == 1))
442 #define COPY_DIGITS copy_digits_unsigned 449 int cmp_res =
vec_cmp(und, ud, vnd, vd);
466 if ((vnd == 1) && (vd0 == 1)) {
473 int nd =
sc_max(und, vnd) + 1;
483 if ((vnd == 1) && (und == 1))
void vec_sub_on2(int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
void vec_rem_large(int ulen, const sc_digit *u, int vlen, const sc_digit *v, sc_digit *w)
small_type check_for_zero(small_type s, int ulen, const sc_digit *u)
int vec_skip_leading_zeros(int ulen, const sc_digit *u)
void vec_add_on(int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
void and_on_help(small_type us, int, int und, sc_digit *ud, small_type vs, int, int vnd, const sc_digit *vd)
const T sc_max(const T &a, const T &b)
void vec_div_large(int ulen, const sc_digit *u, int vlen, const sc_digit *v, sc_digit *w)
void mul_on_help_signed(small_type &us, int unb, int und, sc_digit *ud, int vnb, int vnd, const sc_digit *vd)
void mod_on_help_unsigned(small_type &us, int unb, int und, sc_digit *ud, int, int vnd, const sc_digit *vd)
const T sc_min(const T &a, const T &b)
void vec_mul_small(int ulen, const sc_digit *u, sc_digit v, sc_digit *w)
void vec_zero(int from, int ulen, sc_digit *u)
small_type mul_signs(small_type us, small_type vs)
void div_on_help_signed(small_type &us, int unb, int und, sc_digit *ud, int vnb, int vnd, const sc_digit *vd)
sc_digit vec_rem_small(int ulen, const sc_digit *u, sc_digit v)
void vec_add_on2(int ulen, sc_digit *ubegin, int, const sc_digit *v)
void add_on_help(small_type &us, int, int und, sc_digit *ud, small_type vs, int, int vnd, const sc_digit *vd)
void or_on_help(small_type us, int, int und, sc_digit *ud, small_type vs, int, int vnd, const sc_digit *vd)
#define CONVERT_SM_to_2C_to_SM
int vec_cmp(int ulen, const sc_digit *u, int vlen, const sc_digit *v)
void vec_div_small(int ulen, const sc_digit *u, sc_digit v, sc_digit *q)
void vec_sub_on(int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
void vec_mul(int ulen, const sc_digit *u, int vlen, const sc_digit *vbegin, sc_digit *wbegin)
void mul_on_help_unsigned(small_type &us, int unb, int und, sc_digit *ud, int vnb, int vnd, const sc_digit *vd)
void xor_on_help(small_type us, int, int und, sc_digit *ud, small_type vs, int, int vnd, const sc_digit *vd)
void div_on_help_unsigned(small_type &us, int unb, int und, sc_digit *ud, int vnb, int vnd, const sc_digit *vd)
void mod_on_help_signed(small_type &us, int unb, int und, sc_digit *ud, int, int vnd, const sc_digit *vd)