Lines Matching refs:result

186  * Cache the result, as the CPU can't change.
495 int i, result;
497 result = 1;
500 result = 0;
503 return (result);
508 big_add_abs(BIGNUM *result, BIGNUM *aa, BIGNUM *bb)
525 if (result->size < longer + 1) {
526 err = big_extend(result, longer + 1);
532 r = result->value;
555 result->len = longer + 1;
557 result->len = longer;
559 result->sign = 1;
564 /* caller must make sure that result has at least len words allocated */
584 /* result=aa-bb it is assumed that aa>=bb */
586 big_sub_pos(BIGNUM *result, BIGNUM *aa, BIGNUM *bb)
598 if (result->size < aa->len) {
599 err = big_extend(result, aa->len);
605 r = result->value;
608 result->len = aa->len;
626 result->sign = 1;
670 big_sub(BIGNUM *result, BIGNUM *aa, BIGNUM *bb)
675 if ((err = big_add_abs(result, aa, bb)) != BIG_OK) {
678 result->sign = 1;
680 if ((err = big_add_abs(result, aa, bb)) != BIG_OK) {
683 result->sign = -1;
686 if ((err = big_sub_pos(result, aa, bb)) != BIG_OK) {
689 result->sign = 1;
691 if ((err = big_sub_pos(result, bb, aa)) != BIG_OK) {
694 result->sign = -1;
698 if ((err = big_sub_pos(result, aa, bb)) != BIG_OK) {
701 result->sign = -1;
703 if ((err = big_sub_pos(result, bb, aa)) != BIG_OK) {
706 result->sign = 1;
714 big_add(BIGNUM *result, BIGNUM *aa, BIGNUM *bb)
719 if ((err = big_add_abs(result, aa, bb)) != BIG_OK) {
722 result->sign = -1;
724 if ((err = big_add_abs(result, aa, bb)) != BIG_OK) {
727 result->sign = 1;
730 if ((err = big_sub_pos(result, aa, bb)) != BIG_OK) {
733 result->sign = 1;
735 if ((err = big_sub_pos(result, bb, aa)) != BIG_OK) {
738 result->sign = -1;
742 if ((err = big_sub_pos(result, aa, bb)) != BIG_OK) {
745 result->sign = -1;
747 if ((err = big_sub_pos(result, bb, aa)) != BIG_OK) {
750 result->sign = 1;
757 /* result = aa/2 */
759 big_half_pos(BIGNUM *result, BIGNUM *aa)
766 if (result->size < aa->len) {
767 err = big_extend(result, aa->len);
773 result->len = aa->len;
775 r = result->value;
782 if (r[result->len - 1] == 0) {
783 result->len--;
789 /* result = aa*2 */
791 big_double(BIGNUM *result, BIGNUM *aa)
805 if (result->size < rsize) {
806 err = big_extend(result, rsize);
812 r = result->value;
822 result->len = rsize;
853 * result = aa - (2^BIG_CHUNK_SIZE)^lendiff * bb
854 * result->size should be at least aa->len at entry
855 * aa, bb, and result should be positive
858 big_sub_pos_high(BIGNUM *result, BIGNUM *aa, BIGNUM *bb)
864 res1.size = result->size - lendiff;
866 res1.value = result->value + lendiff;
872 if (result->value != aa->value) {
874 result->value[i] = aa->value[i];
877 result->len = aa->len;
902 * result = aa * b where b is a max. (BIG_CHUNK_SIZE / 2)-bit positive integer.
903 * result should have enough space allocated.
906 big_mulhalf_low(BIGNUM *result, BIGNUM *aa, BIG_CHUNK_TYPE b)
913 r = result->value;
925 result->len = aa->len + 1;
926 result->sign = aa->sign;
931 * result = aa * b * 2^(BIG_CHUNK_SIZE / 2) where b is a max.
933 * result should have enough space allocated.
936 big_mulhalf_high(BIGNUM *result, BIGNUM *aa, BIG_CHUNK_TYPE b)
943 r = result->value;
956 result->len = aa->len + 1;
957 result->sign = aa->sign;
961 /* it is assumed that result->size is big enough */
963 big_shiftleft(BIGNUM *result, BIGNUM *aa, int offs)
969 if (result != aa) {
970 (void) big_copy(result, aa);
977 result->value[i] = (ai << offs) | cy;
981 result->len = aa->len + 1;
982 result->value[result->len - 1] = cy;
984 result->len = aa->len;
986 result->sign = aa->sign;
990 /* it is assumed that result->size is big enough */
992 big_shiftright(BIGNUM *result, BIGNUM *aa, int offs)
998 if (result != aa) {
999 (void) big_copy(result, aa);
1006 result->value[i - 1] = (ai << (BIG_CHUNK_SIZE - offs)) | cy;
1009 result->len = aa->len;
1010 result->value[result->len - 1] = cy;
1011 result->sign = aa->sign;
1016 * result = aa/bb remainder = aa mod bb
1020 big_div_pos(BIGNUM *result, BIGNUM *remainder, BIGNUM *aa, BIGNUM *bb)
1054 if (result != NULL) {
1055 result->len = 1;
1056 result->sign = 1;
1057 result->value[0] = 0;
1155 if (result != NULL)
1156 err = big_copy(result, &tresult);
1549 * result = aa * bb result->value should be big enough to hold the result
1555 big_mul(BIGNUM *result, BIGNUM *aa, BIGNUM *bb)
1589 if (result->size < rsize) {
1590 err = big_extend(result, rsize);
1594 /* aa or bb might be an alias to result */
1598 r = result->value;
1601 result->len = 1;
1602 result->sign = 1;
1611 result->len = blen;
1612 result->sign = sign;
1619 result->len = alen;
1620 result->sign = sign;
1646 err = big_copy(result, &tmp1);
1648 result->sign = sign;
1766 BIG_CHUNK_TYPE result, tmp;
1768 result = 0;
1772 result = (result >> 1) | BIG_CHUNK_HIGHBIT;
1775 result = (result >> 1);
1780 return (result);
1809 big_mont_rr(BIGNUM *result, BIGNUM *n)
1832 err = big_copy(result, &rr);
1841 big_mont_conv(BIGNUM *result, BIGNUM *a, BIGNUM *n, BIG_CHUNK_TYPE n0,
1872 err = big_copy(result, &rr);
1891 big_modexp_ncp_int(BIGNUM *result, BIGNUM *ma, BIGNUM *e, BIGNUM *n,
2009 if ((err = big_mont_mul(result, tmp, tmp, n, n0)) != BIG_OK) {
2044 big_modexp_ncp_float(BIGNUM *result, BIGNUM *ma, BIGNUM *e, BIGNUM *n,
2249 result->value[i] = prod[i];
2255 result->value[i] = (uint64_t)(prod[2 * i]) +
2258 for (i = nlen / 2 - 1; (i > 0) && (result->value[i] == 0); i--)
2261 result->len = i + 1;
2298 big_modexp_ext(BIGNUM *result, BIGNUM *a, BIGNUM *e, BIGNUM *n, BIGNUM *n_rr,
2369 err = big_copy(result, &tmp);
2384 big_modexp(BIGNUM *result, BIGNUM *a, BIGNUM *e, BIGNUM *n, BIGNUM *n_rr)
2386 return (big_modexp_ext(result, a, e, n, n_rr, NULL));
2391 big_modexp_crt_ext(BIGNUM *result, BIGNUM *a, BIGNUM *dmodpminus1,
2477 err = big_add_abs(result, &ap, &tmp);
2491 big_modexp_crt(BIGNUM *result, BIGNUM *a, BIGNUM *dmodpminus1,
2495 return (big_modexp_crt_ext(result, a, dmodpminus1, dmodqminus1,
2515 big_sqrt_pos(BIGNUM *result, BIGNUM *n)
2566 err = big_copy(result, high);
2586 err = big_copy(result, low);
2592 err = big_copy(result, low);
2927 big_nextprime_pos_ext(BIGNUM *result, BIGNUM *n, big_modexp_ncp_info_t *info)
2937 if ((err = big_copy(result, n)) != BIG_OK) {
2940 result->value[0] |= 1;
2947 off = big_modhalf_pos(result, p);
2961 err = big_isprime_pos_ext(result, info);
2971 if ((err = big_add_abs(result, result, &big_Two)) !=
2984 big_nextprime_pos(BIGNUM *result, BIGNUM *n)
2986 return (big_nextprime_pos_ext(result, n, NULL));
2991 big_nextprime_pos_slow(BIGNUM *result, BIGNUM *n)
2996 if ((err = big_copy(result, n)) != BIG_OK)
2998 result->value[0] |= 1;
2999 while ((err = big_isprime_pos_ext(result, NULL)) != BIG_TRUE) {
3002 if ((err = big_add_abs(result, result, &big_Two)) != BIG_OK)