Lines Matching refs:sc_digit

257                   sc_digit *data_p, sc_digit *ctrl_p)
260 sc_digit ctrl; // Control word now assembling.
261 sc_digit data; // Data word now assembling.
386 sc_digit *data_p, sc_digit *ctrl_p)
388 sc_digit ctrl; // Control word now assembling.
389 sc_digit data; // Data word now assembling.
545 vec_from_str(int unb, int und, sc_digit *u, const char *v, sc_numrep base)
563 msg << "vec_from_str( int, int, sc_digit*, const char*, " <<
586 msg << "vec_from_str( int, int, sc_digit*, const char*, " <<
601 msg << "vec_from_str( int, int, sc_digit*, const char*, " <<
622 vec_add(int ulen, const sc_digit *u, int vlen, const sc_digit *v, sc_digit *w)
631 const sc_digit *uend = (u + ulen);
632 const sc_digit *vend = (v + vlen);
634 sc_digit carry = 0; // Also used as sum to save space.
663 vec_add_on(int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
671 sc_digit *u = ubegin;
672 const sc_digit *uend = (u + ulen);
673 const sc_digit *vend = (v + vlen);
675 sc_digit carry = 0; // Also used as sum to save space.
694 "vec_add_on( int, sc_digit*, int, const "
695 "sc_digit* ) : "
705 vec_add_on2(int ulen, sc_digit *ubegin, int,
709 const sc_digit *v)
717 sc_digit *u = ubegin;
718 const sc_digit *uend = (u + ulen);
720 sc_digit carry = 0; // Also used as sum to save space.
732 "vec_add_on2( int, sc_digit*, int, const "
733 "sc_digit* ) : "
742 vec_add_small(int ulen, const sc_digit *u, sc_digit v, sc_digit *w)
749 const sc_digit *uend = (u + ulen);
752 sc_digit carry = (*u++) + v;
774 vec_add_small_on(int ulen, sc_digit *u, sc_digit v)
791 "vec_add_small_on( int, sc_digit*, unsigned "
802 vec_sub(int ulen, const sc_digit *u, int vlen, const sc_digit *v, sc_digit *w)
811 const sc_digit *uend = (u + ulen);
812 const sc_digit *vend = (v + vlen);
814 sc_digit borrow = 0; // Also used as diff to save space.
843 vec_sub_on(int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
851 sc_digit *u = ubegin;
852 const sc_digit *uend = (u + ulen);
853 const sc_digit *vend = (v + vlen);
855 sc_digit borrow = 0; // Also used as diff to save space.
880 vec_sub_on2(int ulen, sc_digit *ubegin, int vlen, const sc_digit *v)
887 sc_digit *u = ubegin;
888 const sc_digit *uend = (u + sc_min(ulen, vlen));
890 sc_digit borrow = 0; // Also used as diff to save space.
902 "vec_sub_on2( int, sc_digit*, int, const "
903 "sc_digit* ) : "
911 vec_sub_small(int ulen, const sc_digit *u, sc_digit v, sc_digit *w)
918 const sc_digit *uend = (u + ulen);
921 sc_digit borrow = ((*u++) + DIGIT_RADIX) - v;
944 vec_sub_small_on(int ulen, sc_digit *u, sc_digit v)
963 vec_mul(int ulen, const sc_digit *u, int vlen, const sc_digit *vbegin,
964 sc_digit *wbegin)
1030 const sc_digit *uend = (u + ulen);
1031 const sc_digit *vend = (vbegin + vlen);
1034 sc_digit u_h = (*u++); // A|B
1035 sc_digit u_l = low_half(u_h); // B
1042 sc_digit carry = 0;
1043 sc_digit *w = (wbegin++);
1044 const sc_digit *v = vbegin;
1047 sc_digit v_h = (*v++); // C|D
1048 sc_digit v_l = low_half(v_h); // D
1057 sc_digit prod_l = (*w) + u_l * v_l + low_half(carry);
1071 vec_mul_small(int ulen, const sc_digit *u, sc_digit v, sc_digit *w)
1081 const sc_digit *uend = (u + ulen);
1082 sc_digit carry = 0;
1084 sc_digit u_AB = (*u++);
1089 sc_digit prod_l = v * low_half(u_AB) + low_half(carry);
1101 vec_mul_small_on(int ulen, sc_digit *u, sc_digit v)
1109 sc_digit carry = 0;
1115 sc_digit prod_l = v * low_half(u[i]) + low_half(carry);
1125 "vec_mul_small_on( int, sc_digit*, unsigned "
1135 vec_div_large(int ulen, const sc_digit *u, int vlen, const sc_digit *v,
1136 sc_digit *w)
1167 // Set (uchar) x = (sc_digit) u.
1175 // Set (uchar) y = (sc_digit) v.
1194 sc_digit y2 = (y[ylen - 1] << BITS_PER_BYTE) + y[ylen - 2];
1196 const sc_digit DOUBLE_BITS_PER_BYTE = 2 * BITS_PER_BYTE;
1201 sc_digit qk;
1204 // following code assumes that sizeof(sc_digit) >= 3 BYTEs.
1218 sc_digit carry = 0;
1222 sc_digit diff = (xk[i] + BYTE_RADIX) - (carry & BYTE_MASK);
1259 // Set (sc_digit) w = (uchar) q.
1273 vec_div_small(int ulen, const sc_digit *u, sc_digit v, sc_digit *q)
1306 sc_digit r = 0;
1307 const sc_digit *ubegin = u;
1313 sc_digit u_AB = (*--u); // A|B
1320 sc_digit num = concat(r, high_half(u_AB)); // num = r|A
1332 vec_rem_large(int ulen, const sc_digit *u, int vlen, const sc_digit *v,
1333 sc_digit *w)
1356 // Set (uchar) x = (sc_digit) u.
1364 // Set (uchar) y = (sc_digit) v.
1383 sc_digit y2 = (y[ylen - 1] << BITS_PER_BYTE) + y[ylen - 2];
1385 const sc_digit DOUBLE_BITS_PER_BYTE = 2 * BITS_PER_BYTE;
1390 sc_digit qk;
1393 // following code assumes that sizeof(sc_digit) >= 3 BYTEs.
1407 sc_digit carry = 0;
1411 sc_digit diff = (xk[i] + BYTE_RADIX) - (carry & BYTE_MASK);
1443 // Set (sc_digit) w = (uchar) x for the remainder.
1456 sc_digit
1457 vec_rem_small(int ulen, const sc_digit *u, sc_digit v)
1467 sc_digit r = 0;
1468 const sc_digit *ubegin = u;
1473 sc_digit u_AB = (*--u); // A|B
1486 sc_digit
1487 vec_rem_on_small(int ulen, sc_digit *u, sc_digit v)
1495 sc_digit r = 0;
1496 const sc_digit *ubegin = u;
1500 sc_digit u_AB = (*--u); // A|B
1505 sc_digit num = concat(r, high_half(u_AB)); // num = r|A
1515 // Set (uchar) v = (sc_digit) u. Return the new vlen.
1517 vec_to_char(int ulen, const sc_digit *u, int vlen, uchar *v)
1549 // Set (sc_digit) v = (uchar) u.
1550 // - sizeof(uchar) <= sizeof(sc_digit),
1552 vec_from_char(int ulen, const uchar *u, int vlen, sc_digit *v)
1557 sc_assert(sizeof(uchar) <= sizeof(sc_digit));
1560 sc_digit *vend = (v + vlen);
1563 const sc_digit mask = one_and_ones(nsr);
1565 (*v) = (sc_digit) u[ulen - 1];
1569 sc_digit *viter = v;
1570 sc_digit carry = 0;
1572 sc_digit vval = (*viter);
1580 (*v) |= (sc_digit)u[i];
1587 vec_shift_left(int ulen, sc_digit *u, int nsl)
1619 sc_digit *uiter = u;
1620 sc_digit *uend = uiter + ulen;
1623 sc_digit mask = one_and_ones(nsr);
1625 sc_digit carry = 0;
1628 sc_digit uval = (*uiter);
1640 vec_shift_right(int ulen, sc_digit *u, int nsr, sc_digit fill)
1678 sc_digit *ubegin = u;
1679 sc_digit *uiter = (ubegin + ulen);
1682 sc_digit mask = one_and_ones(nsr);
1684 sc_digit carry = (fill & mask) << nsl;
1687 sc_digit uval = (*--uiter);
1697 vec_reverse(int unb, int und, sc_digit *ud, int l, int r)
1706 msg << "vec_reverse( int, int, sc_digit*, int l, int r ) : " <<
1718 sc_digit d[MAX_NDIGITS];
1720 sc_digit *d = new sc_digit[und];