Lines Matching refs:len
162 (void) printf("\n%s\n%d\n", aname, a->sign*a->len); in printbignum()
163 for (i = a->len - 1; i >= 0; i--) { in printbignum()
237 number->len = 0; in big_init()
279 number->len = 0; in big_init1()
307 bytestring2bignum(BIGNUM *bn, uchar_t *kn, size_t len) in bytestring2bignum() argument
311 const uint32_t slen = UI32(len); in bytestring2bignum()
316 bn->len = 1; in bytestring2bignum()
322 bn->len = slen / BIGNUM_WORDSIZE; in bytestring2bignum()
335 bn->value[bn->len++] = word; in bytestring2bignum()
337 while ((bn->len > 1) && (bn->value[bn->len - 1] == 0)) { in bytestring2bignum()
338 bn->len --; in bytestring2bignum()
350 bignum2bytestring(uchar_t *kn, BIGNUM *bn, size_t len) in bignum2bytestring() argument
354 const uint32_t slen = UI32(len); in bignum2bytestring()
357 if (len < BIGNUM_WORDSIZE * bn->len) { in bignum2bytestring()
375 for (i = 0; i < bn->len; i++) { in bignum2bytestring()
383 for (i = 0; i < slen - BIGNUM_WORDSIZE * bn->len; i++) { in bignum2bytestring()
396 l = a->len - 1; in big_bitlength()
419 int i, len; in big_copy() local
421 len = src->len; in big_copy()
422 while ((len > 1) && (src->value[len - 1] == 0)) { in big_copy()
423 len--; in big_copy()
425 src->len = len; in big_copy()
426 if (dest->size < len) { in big_copy()
430 BIGNUM_WORDSIZE * len); in big_copy()
433 big_malloc(BIGNUM_WORDSIZE * len); in big_copy()
442 dest->size = len; in big_copy()
444 dest->len = len; in big_copy()
446 for (i = 0; i < len; i++) { in big_copy()
498 for (i = 0; i < n->len; i++) { in big_is_zero()
516 if (aa->len > bb->len) { in big_add_abs()
517 shorter = bb->len; in big_add_abs()
518 longer = aa->len; in big_add_abs()
521 shorter = aa->len; in big_add_abs()
522 longer = bb->len; in big_add_abs()
555 result->len = longer + 1; in big_add_abs()
557 result->len = longer; in big_add_abs()
566 big_sub_vec(BIG_CHUNK_TYPE *r, BIG_CHUNK_TYPE *a, BIG_CHUNK_TYPE *b, int len) in big_sub_vec() argument
572 for (i = 0; i < len; i++) { in big_sub_vec()
593 if (aa->len > bb->len) { in big_sub_pos()
594 shorter = bb->len; in big_sub_pos()
596 shorter = aa->len; in big_sub_pos()
598 if (result->size < aa->len) { in big_sub_pos()
599 err = big_extend(result, aa->len); in big_sub_pos()
608 result->len = aa->len; in big_sub_pos()
619 for (; i < aa->len; i++) { in big_sub_pos()
642 if (aa->len > bb->len) { in big_cmp_abs()
643 for (i = aa->len - 1; i > bb->len - 1; i--) { in big_cmp_abs()
648 } else if (aa->len < bb->len) { in big_cmp_abs()
649 for (i = bb->len - 1; i > aa->len - 1; i--) { in big_cmp_abs()
655 i = aa->len - 1; in big_cmp_abs()
766 if (result->size < aa->len) { in big_half_pos()
767 err = big_extend(result, aa->len); in big_half_pos()
773 result->len = aa->len; in big_half_pos()
777 for (i = aa->len - 1; i >= 0; i--) { in big_half_pos()
782 if (r[result->len - 1] == 0) { in big_half_pos()
783 result->len--; in big_half_pos()
798 if ((aa->len > 0) && in big_double()
799 ((aa->value[aa->len - 1] & BIG_CHUNK_HIGHBIT) != 0)) { in big_double()
800 rsize = aa->len + 1; in big_double()
802 rsize = aa->len; in big_double()
813 if (rsize == aa->len + 1) { in big_double()
817 for (i = 0; i < aa->len; i++) { in big_double()
822 result->len = rsize; in big_double()
837 if (aa->len == 0) { in big_modhalf_pos()
840 rem = aa->value[aa->len - 1] % b; in big_modhalf_pos()
841 for (i = aa->len - 2; i >= 0; i--) { in big_modhalf_pos()
863 lendiff = aa->len - bb->len; in big_sub_pos_high()
869 aa1.len = bb->len; in big_sub_pos_high()
877 result->len = aa->len; in big_sub_pos_high()
892 lendiff = aa->len - bb->len; in big_cmp_abs_high()
893 aa1.len = bb->len; in big_cmp_abs_high()
915 for (i = 0; i < aa->len; i++) { in big_mulhalf_low()
925 result->len = aa->len + 1; in big_mulhalf_low()
946 for (i = 0; i < aa->len; i++) { in big_mulhalf_high()
956 result->len = aa->len + 1; in big_mulhalf_high()
975 for (i = 0; i < aa->len; i++) { in big_shiftleft()
981 result->len = aa->len + 1; in big_shiftleft()
982 result->value[result->len - 1] = cy; in big_shiftleft()
984 result->len = aa->len; in big_shiftleft()
1004 for (i = 1; i < aa->len; i++) { in big_shiftright()
1009 result->len = aa->len; in big_shiftright()
1010 result->value[result->len - 1] = cy; in big_shiftright()
1035 alen = aa->len; in big_div_pos()
1036 blen = bb->len; in big_div_pos()
1040 aa->len = alen; in big_div_pos()
1044 bb->len = blen; in big_div_pos()
1055 result->len = 1; in big_div_pos()
1100 if (bbhigh.value[bbhigh.len - 1] == 0) { in big_div_pos()
1101 bbhigh.len--; in big_div_pos()
1103 bbhigh.value[bbhigh.len] = 0; in big_div_pos()
1106 highb = bblow.value[bblow.len - 1]; in big_div_pos()
1109 rlen = tmp1.len - bblow.len + 1; in big_div_pos()
1110 tresult.len = rlen; in big_div_pos()
1112 tmp1.len++; in big_div_pos()
1113 tlen = tmp1.len; in big_div_pos()
1114 tmp1.value[tmp1.len - 1] = 0; in big_div_pos()
1121 bbhigh.len++; in big_div_pos()
1126 bbhigh.len--; in big_div_pos()
1128 tmp1.len--; in big_div_pos()
1137 tmp2.len--; in big_div_pos()
1237 big_mul_set_vec(uint32_t *r, uint32_t *a, int len, uint32_t b) in big_mul_set_vec() argument
1241 if (len == 0) in big_mul_set_vec()
1246 while (len > UNROLL) { in big_mul_set_vec()
1257 len -= UNROLL; in big_mul_set_vec()
1259 if (len == UNROLL) { in big_mul_set_vec()
1270 while (len > 1) { in big_mul_set_vec()
1274 --len; in big_mul_set_vec()
1276 if (len > 0) { in big_mul_set_vec()
1288 big_mul_add_vec(uint32_t *r, uint32_t *a, int len, uint32_t b) in big_mul_add_vec() argument
1292 if (len == 0) in big_mul_add_vec()
1297 while (len > 8) { in big_mul_add_vec()
1308 len -= 8; in big_mul_add_vec()
1310 if (len == 8) { in big_mul_add_vec()
1321 while (len > 1) { in big_mul_add_vec()
1325 --len; in big_mul_add_vec()
1327 if (len > 0) { in big_mul_add_vec()
1335 big_sqr_vec(uint32_t *r, uint32_t *a, int len) in big_sqr_vec() argument
1344 tlen = len - 1; in big_sqr_vec()
1360 while (row < len) { in big_sqr_vec()
1369 if (row == len - 1) in big_sqr_vec()
1387 big_mul_add_vec(BIG_CHUNK_TYPE *r, BIG_CHUNK_TYPE *a, int len, in big_mul_add_vec() argument
1396 for (i = 0; i < len; i++) { in big_mul_add_vec()
1409 for (i = 0; i < len - 1; i++) { in big_mul_add_vec()
1420 dhigh * (a[len - 1] & BIG_CHUNK_LOWHALFBITS) + in big_mul_add_vec()
1421 (r[len - 1] >> (BIG_CHUNK_SIZE / 2)); in big_mul_add_vec()
1422 r[len - 1] = (cy1 & BIG_CHUNK_LOWHALFBITS) | in big_mul_add_vec()
1425 dhigh * (a[len - 1] >> (BIG_CHUNK_SIZE / 2)) + retcy; in big_mul_add_vec()
1436 big_mul_set_vec(BIG_CHUNK_TYPE *r, BIG_CHUNK_TYPE *a, int len, in big_mul_set_vec() argument
1442 for (i = 0; i < len; i++) { in big_mul_set_vec()
1445 return (big_mul_add_vec(r, a, len, digit)); in big_mul_set_vec()
1449 big_sqr_vec(BIG_CHUNK_TYPE *r, BIG_CHUNK_TYPE *a, int len) in big_sqr_vec() argument
1454 r[len] = big_mul_set_vec(r, a, len, a[0]); in big_sqr_vec()
1455 for (i = 1; i < len; ++i) in big_sqr_vec()
1456 r[len + i] = big_mul_add_vec(r + i, a, len, a[i]); in big_sqr_vec()
3178 r->len = rwords;
3180 r->len = (uint32_t)rwords;