Lines Matching refs:ulen

155 extern void vec_add(int ulen, const sc_digit *u,
157 extern void vec_add_on(int ulen, sc_digit *u, int vlen, const sc_digit *v);
158 extern void vec_add_on2(int ulen, sc_digit *u, int vlen, const sc_digit *v);
159 extern void vec_add_small(int ulen, const sc_digit *u,
161 extern void vec_add_small_on(int ulen, sc_digit *u, sc_digit v);
167 extern void vec_sub(int ulen, const sc_digit *u,
169 extern void vec_sub_on(int ulen, sc_digit *u, int vlen, const sc_digit *v);
170 extern void vec_sub_on2(int ulen, sc_digit *u, int vlen, const sc_digit *v);
171 extern void vec_sub_small(int ulen, const sc_digit *u,
173 extern void vec_sub_small_on(int ulen, sc_digit *u, sc_digit v);
180 extern void vec_mul(int ulen, const sc_digit *u,
182 extern void vec_mul_small(int ulen, const sc_digit *u,
184 extern void vec_mul_small_on(int ulen, sc_digit *u, sc_digit v);
191 extern void vec_div_large(int ulen, const sc_digit *u,
193 extern void vec_div_small(int ulen, const sc_digit *u,
201 extern void vec_rem_large(int ulen, const sc_digit *u,
203 extern sc_digit vec_rem_small(int ulen, const sc_digit *u, sc_digit v);
204 extern sc_digit vec_rem_on_small(int ulen, sc_digit *u, sc_digit v);
211 extern int vec_to_char(int ulen, const sc_digit *u, int vlen, uchar *v);
212 extern void vec_from_char(int ulen, const uchar *u, int vlen, sc_digit *v);
219 extern void vec_shift_left(int ulen, sc_digit *u, int nsl);
280 // - ulen and/or vlen can be zero.
283 vec_cmp(int ulen, const sc_digit *u,
288 // sc_assert((ulen <= 0) || (u != NULL));
291 // ulen and vlen can be equal to 0 because vec_cmp can be called
293 sc_assert((ulen >= 0) && (u != NULL));
295 // If ulen > 0, then the leading digit of u must be non-zero.
296 sc_assert((ulen <= 0) || (u[ulen - 1] != 0));
300 if (ulen != vlen)
301 return (ulen - vlen);
303 // ulen == vlen >= 1
304 while ((--ulen >= 0) && (u[ulen] == v[ulen]))
307 if (ulen < 0)
313 sc_assert((u[ulen] & DIGIT_MASK) != (v[ulen] & DIGIT_MASK));
316 return (int)(u[ulen] - v[ulen]);
320 // - ulen (before) = the number of digits in u.
324 vec_find_first_nonzero(int ulen, const sc_digit *u)
328 // sc_assert((ulen <= 0) || (u != NULL));
329 sc_assert((ulen > 0) && (u != NULL));
332 while ((--ulen >= 0) && (! u[ulen]))
335 return ulen;
339 // - ulen (before) = the number of digits in u.
343 vec_skip_leading_zeros(int ulen, const sc_digit *u)
346 // sc_assert((ulen <= 0) || (u != NULL));
347 sc_assert((ulen > 0) && (u != NULL));
350 return (1 + vec_find_first_nonzero(ulen, u));
358 vec_skip_and_cmp(int ulen, const sc_digit *u, int vlen, const sc_digit *v)
361 sc_assert((ulen > 0) && (u != NULL));
365 ulen = vec_skip_leading_zeros(ulen, u);
367 // ulen and/or vlen can be equal to zero here.
368 return vec_cmp(ulen, u, vlen, v);
371 // Set u[i] = 0 where i = from ... (ulen - 1).
373 vec_zero(int from, int ulen, sc_digit *u)
376 sc_assert((ulen > 0) && (u != NULL));
378 for (int i = from; i < ulen; i++)
382 // Set u[i] = 0 where i = 0 .. (ulen - 1).
383 inline void vec_zero(int ulen, sc_digit *u) { vec_zero(0, ulen, u); }
396 // Copy v to u, where ulen >= vlen, and zero the rest of the digits in u.
398 vec_copy_and_zero(int ulen, sc_digit *u, int vlen, const sc_digit *v)
402 sc_assert((ulen > 0) && (u != NULL));
404 sc_assert(ulen >= vlen);
407 vec_zero(vlen, ulen, u);
413 vec_complement(int ulen, sc_digit *u)
417 sc_assert((ulen > 0) && (u != NULL));
422 for (int i = 0; i < ulen; ++i) {
438 from_uint(int ulen, sc_digit *u, Type v)
441 // sc_assert((ulen <= 0) || (u != NULL));
442 sc_assert((ulen > 0) && (u != NULL));
448 while (v && (i < ulen)) {
452 vec_zero(i, ulen, u);
536 // If u[i] is zero for every i = 0,..., ulen - 1, return SC_ZERO,
539 check_for_zero(small_type s, int ulen, const sc_digit *u)
543 // sc_assert(ulen >= 0);
544 sc_assert((ulen > 0) && (u != NULL));
547 if (vec_find_first_nonzero(ulen, u) < 0)
553 // If u[i] is zero for every i = 0,..., ulen - 1, return true,
556 check_for_zero(int ulen, const sc_digit *u)
560 // sc_assert(ulen >= 0);
561 sc_assert((ulen > 0) && (u != NULL));
564 if (vec_find_first_nonzero(ulen, u) < 0)