Lines Matching refs:aa

508 big_add_abs(BIGNUM *result, BIGNUM *aa, BIGNUM *bb)  in big_add_abs()  argument
516 if (aa->len > bb->len) { in big_add_abs()
518 longer = aa->len; in big_add_abs()
519 longerarg = aa; in big_add_abs()
521 shorter = aa->len; in big_add_abs()
533 a = aa->value; in big_add_abs()
586 big_sub_pos(BIGNUM *result, BIGNUM *aa, BIGNUM *bb) in big_sub_pos() argument
593 if (aa->len > 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()
606 a = aa->value; in big_sub_pos()
608 result->len = aa->len; in big_sub_pos()
619 for (; i < aa->len; i++) { in big_sub_pos()
638 big_cmp_abs(BIGNUM *aa, BIGNUM *bb) in big_cmp_abs() argument
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()
644 if (aa->value[i] > 0) { 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()
658 if (aa->value[i] > bb->value[i]) { in big_cmp_abs()
660 } else if (aa->value[i] < bb->value[i]) { in big_cmp_abs()
670 big_sub(BIGNUM *result, BIGNUM *aa, BIGNUM *bb) in big_sub() argument
674 if ((bb->sign == -1) && (aa->sign == 1)) { in big_sub()
675 if ((err = big_add_abs(result, aa, bb)) != BIG_OK) { in big_sub()
679 } else if ((aa->sign == -1) && (bb->sign == 1)) { in big_sub()
680 if ((err = big_add_abs(result, aa, bb)) != BIG_OK) { in big_sub()
684 } else if ((aa->sign == 1) && (bb->sign == 1)) { in big_sub()
685 if (big_cmp_abs(aa, bb) >= 0) { in big_sub()
686 if ((err = big_sub_pos(result, aa, bb)) != BIG_OK) { in big_sub()
691 if ((err = big_sub_pos(result, bb, aa)) != BIG_OK) { in big_sub()
697 if (big_cmp_abs(aa, bb) >= 0) { in big_sub()
698 if ((err = big_sub_pos(result, aa, bb)) != BIG_OK) { in big_sub()
703 if ((err = big_sub_pos(result, bb, aa)) != BIG_OK) { in big_sub()
714 big_add(BIGNUM *result, BIGNUM *aa, BIGNUM *bb) in big_add() argument
718 if ((bb->sign == -1) && (aa->sign == -1)) { in big_add()
719 if ((err = big_add_abs(result, aa, bb)) != BIG_OK) { in big_add()
723 } else if ((aa->sign == 1) && (bb->sign == 1)) { in big_add()
724 if ((err = big_add_abs(result, aa, bb)) != BIG_OK) { in big_add()
728 } else if ((aa->sign == 1) && (bb->sign == -1)) { in big_add()
729 if (big_cmp_abs(aa, bb) >= 0) { in big_add()
730 if ((err = big_sub_pos(result, aa, bb)) != BIG_OK) { in big_add()
735 if ((err = big_sub_pos(result, bb, aa)) != BIG_OK) { in big_add()
741 if (big_cmp_abs(aa, bb) >= 0) { in big_add()
742 if ((err = big_sub_pos(result, aa, bb)) != BIG_OK) { in big_add()
747 if ((err = big_sub_pos(result, bb, aa)) != BIG_OK) { in big_add()
759 big_half_pos(BIGNUM *result, BIGNUM *aa) in big_half_pos() argument
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()
774 a = aa->value; in big_half_pos()
777 for (i = aa->len - 1; i >= 0; i--) { in big_half_pos()
791 big_double(BIGNUM *result, BIGNUM *aa) in big_double() argument
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()
811 a = aa->value; in big_double()
813 if (rsize == aa->len + 1) { in big_double()
817 for (i = 0; i < aa->len; i++) { in big_double()
832 big_modhalf_pos(BIGNUM *aa, uint32_t b) in big_modhalf_pos() argument
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()
843 (aa->value[i] >> (BIG_CHUNK_SIZE / 2))) % b; in big_modhalf_pos()
845 (aa->value[i] & BIG_CHUNK_LOWHALFBITS)) % b; in big_modhalf_pos()
858 big_sub_pos_high(BIGNUM *result, BIGNUM *aa, BIGNUM *bb) in big_sub_pos_high() argument
863 lendiff = aa->len - bb->len; in big_sub_pos_high()
867 aa1.size = aa->size - lendiff; in big_sub_pos_high()
868 aa1.value = aa->value + lendiff; in big_sub_pos_high()
872 if (result->value != aa->value) { in big_sub_pos_high()
874 result->value[i] = aa->value[i]; in big_sub_pos_high()
877 result->len = aa->len; in big_sub_pos_high()
887 big_cmp_abs_high(BIGNUM *aa, BIGNUM *bb) in big_cmp_abs_high() argument
892 lendiff = aa->len - bb->len; in big_cmp_abs_high()
894 aa1.size = aa->size - lendiff; in big_cmp_abs_high()
896 aa1.value = aa->value + lendiff; in big_cmp_abs_high()
906 big_mulhalf_low(BIGNUM *result, BIGNUM *aa, BIG_CHUNK_TYPE b) in big_mulhalf_low() argument
912 a = aa->value; in big_mulhalf_low()
915 for (i = 0; i < aa->len; i++) { in big_mulhalf_low()
925 result->len = aa->len + 1; in big_mulhalf_low()
926 result->sign = aa->sign; in big_mulhalf_low()
936 big_mulhalf_high(BIGNUM *result, BIGNUM *aa, BIG_CHUNK_TYPE b) in big_mulhalf_high() argument
942 a = aa->value; in big_mulhalf_high()
946 for (i = 0; i < aa->len; i++) { in big_mulhalf_high()
956 result->len = aa->len + 1; in big_mulhalf_high()
957 result->sign = aa->sign; in big_mulhalf_high()
963 big_shiftleft(BIGNUM *result, BIGNUM *aa, int offs) in big_shiftleft() argument
969 if (result != aa) { in big_shiftleft()
970 (void) big_copy(result, aa); in big_shiftleft()
975 for (i = 0; i < aa->len; i++) { in big_shiftleft()
976 ai = aa->value[i]; in big_shiftleft()
981 result->len = aa->len + 1; in big_shiftleft()
984 result->len = aa->len; in big_shiftleft()
986 result->sign = aa->sign; in big_shiftleft()
992 big_shiftright(BIGNUM *result, BIGNUM *aa, int offs) in big_shiftright() argument
998 if (result != aa) { in big_shiftright()
999 (void) big_copy(result, aa); in big_shiftright()
1003 cy = aa->value[0] >> offs; in big_shiftright()
1004 for (i = 1; i < aa->len; i++) { in big_shiftright()
1005 ai = aa->value[i]; in big_shiftright()
1009 result->len = aa->len; in big_shiftright()
1011 result->sign = aa->sign; in big_shiftright()
1020 big_div_pos(BIGNUM *result, BIGNUM *remainder, BIGNUM *aa, BIGNUM *bb) in big_div_pos() argument
1033 a = aa->value; in big_div_pos()
1035 alen = aa->len; in big_div_pos()
1040 aa->len = alen; in big_div_pos()
1049 if (big_cmp_abs(aa, bb) < 0) { in big_div_pos()
1051 ((err = big_copy(remainder, aa)) != BIG_OK)) { in big_div_pos()
1108 big_shiftleft(&tmp1, aa, offs); in big_div_pos()
1555 big_mul(BIGNUM *result, BIGNUM *aa, BIGNUM *bb) in big_mul() argument
1563 if (aa == bb) { in big_mul()
1566 diff = big_cmp_abs(aa, bb); in big_mul()
1569 tt = aa; in big_mul()
1570 aa = bb; in big_mul()
1574 a = aa->value; in big_mul()
1576 alen = aa->len; in big_mul()
1581 aa->len = alen; in big_mul()
1595 a = aa->value; in big_mul()
1606 sign = aa->sign * bb->sign; in big_mul()