Lines Matching refs:c2
440 /* mul_add_c(a,b,c0,c1,c2) -- c+=a*b for three word number c=(c2,c1,c0) */
441 /* mul_add_c2(a,b,c0,c1,c2) -- c+=2*a*b for three word number c=(c2,c1,c0) */
442 /* sqr_add_c(a,i,c0,c1,c2) -- c+=a[i]^2 for three word number c=(c2,c1,c0) */
444 * sqr_add_c2(a,i,c0,c1,c2) -- c+=2*a[i]*a[j] for three word number
445 * c=(c2,c1,c0)
453 # define mul_add_c(a,b,c0,c1,c2) do { \
459 c1 = (c1+hi)&BN_MASK2; c2 += (c1<hi); \
462 # define mul_add_c2(a,b,c0,c1,c2) do { \
468 c1 = (c1+hi)&BN_MASK2; c2 += (c1<hi); \
472 c1 = (c1+hi)&BN_MASK2; c2 += (c1<hi); \
475 # define sqr_add_c(a,i,c0,c1,c2) do { \
481 c1 = (c1+hi)&BN_MASK2; c2 += (c1<hi); \
484 # define sqr_add_c2(a,i,j,c0,c1,c2) \
485 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
492 # define mul_add_c(a,b,c0,c1,c2) do { \
497 c1 += hi; c2 += (c1<hi); \
500 # define mul_add_c2(a,b,c0,c1,c2) do { \
505 c1 += tt; c2 += (c1<tt); \
507 c1 += hi; c2 += (c1<hi); \
510 # define sqr_add_c(a,i,c0,c1,c2) do { \
515 c1 += hi; c2 += (c1<hi); \
518 # define sqr_add_c2(a,i,j,c0,c1,c2) \
519 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
526 # define mul_add_c(a,b,c0,c1,c2) do { \
531 c1 += hi; c2 += (c1<hi); \
534 # define mul_add_c2(a,b,c0,c1,c2) do { \
539 c1 += tt; c2 += (c1<tt); \
541 c1 += hi; c2 += (c1<hi); \
544 # define sqr_add_c(a,i,c0,c1,c2) do { \
549 c1 += hi; c2 += (c1<hi); \
552 # define sqr_add_c2(a,i,j,c0,c1,c2) \
553 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
560 # define mul_add_c(a,b,c0,c1,c2) do { \
565 c1 = (c1+hi)&BN_MASK2; c2 += (c1<hi); \
568 # define mul_add_c2(a,b,c0,c1,c2) do { \
575 c1 = (c1+tt)&BN_MASK2; c2 += (c1<tt); \
577 c1 = (c1+hi)&BN_MASK2; c2 += (c1<hi); \
580 # define sqr_add_c(a,i,c0,c1,c2) do { \
584 c1 = (c1+hi)&BN_MASK2; c2 += (c1<hi); \
587 # define sqr_add_c2(a,i,j,c0,c1,c2) \
588 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
593 BN_ULONG c1, c2, c3;
596 c2 = 0;
598 mul_add_c(a[0], b[0], c1, c2, c3);
601 mul_add_c(a[0], b[1], c2, c3, c1);
602 mul_add_c(a[1], b[0], c2, c3, c1);
603 r[1] = c2;
604 c2 = 0;
605 mul_add_c(a[2], b[0], c3, c1, c2);
606 mul_add_c(a[1], b[1], c3, c1, c2);
607 mul_add_c(a[0], b[2], c3, c1, c2);
610 mul_add_c(a[0], b[3], c1, c2, c3);
611 mul_add_c(a[1], b[2], c1, c2, c3);
612 mul_add_c(a[2], b[1], c1, c2, c3);
613 mul_add_c(a[3], b[0], c1, c2, c3);
616 mul_add_c(a[4], b[0], c2, c3, c1);
617 mul_add_c(a[3], b[1], c2, c3, c1);
618 mul_add_c(a[2], b[2], c2, c3, c1);
619 mul_add_c(a[1], b[3], c2, c3, c1);
620 mul_add_c(a[0], b[4], c2, c3, c1);
621 r[4] = c2;
622 c2 = 0;
623 mul_add_c(a[0], b[5], c3, c1, c2);
624 mul_add_c(a[1], b[4], c3, c1, c2);
625 mul_add_c(a[2], b[3], c3, c1, c2);
626 mul_add_c(a[3], b[2], c3, c1, c2);
627 mul_add_c(a[4], b[1], c3, c1, c2);
628 mul_add_c(a[5], b[0], c3, c1, c2);
631 mul_add_c(a[6], b[0], c1, c2, c3);
632 mul_add_c(a[5], b[1], c1, c2, c3);
633 mul_add_c(a[4], b[2], c1, c2, c3);
634 mul_add_c(a[3], b[3], c1, c2, c3);
635 mul_add_c(a[2], b[4], c1, c2, c3);
636 mul_add_c(a[1], b[5], c1, c2, c3);
637 mul_add_c(a[0], b[6], c1, c2, c3);
640 mul_add_c(a[0], b[7], c2, c3, c1);
641 mul_add_c(a[1], b[6], c2, c3, c1);
642 mul_add_c(a[2], b[5], c2, c3, c1);
643 mul_add_c(a[3], b[4], c2, c3, c1);
644 mul_add_c(a[4], b[3], c2, c3, c1);
645 mul_add_c(a[5], b[2], c2, c3, c1);
646 mul_add_c(a[6], b[1], c2, c3, c1);
647 mul_add_c(a[7], b[0], c2, c3, c1);
648 r[7] = c2;
649 c2 = 0;
650 mul_add_c(a[7], b[1], c3, c1, c2);
651 mul_add_c(a[6], b[2], c3, c1, c2);
652 mul_add_c(a[5], b[3], c3, c1, c2);
653 mul_add_c(a[4], b[4], c3, c1, c2);
654 mul_add_c(a[3], b[5], c3, c1, c2);
655 mul_add_c(a[2], b[6], c3, c1, c2);
656 mul_add_c(a[1], b[7], c3, c1, c2);
659 mul_add_c(a[2], b[7], c1, c2, c3);
660 mul_add_c(a[3], b[6], c1, c2, c3);
661 mul_add_c(a[4], b[5], c1, c2, c3);
662 mul_add_c(a[5], b[4], c1, c2, c3);
663 mul_add_c(a[6], b[3], c1, c2, c3);
664 mul_add_c(a[7], b[2], c1, c2, c3);
667 mul_add_c(a[7], b[3], c2, c3, c1);
668 mul_add_c(a[6], b[4], c2, c3, c1);
669 mul_add_c(a[5], b[5], c2, c3, c1);
670 mul_add_c(a[4], b[6], c2, c3, c1);
671 mul_add_c(a[3], b[7], c2, c3, c1);
672 r[10] = c2;
673 c2 = 0;
674 mul_add_c(a[4], b[7], c3, c1, c2);
675 mul_add_c(a[5], b[6], c3, c1, c2);
676 mul_add_c(a[6], b[5], c3, c1, c2);
677 mul_add_c(a[7], b[4], c3, c1, c2);
680 mul_add_c(a[7], b[5], c1, c2, c3);
681 mul_add_c(a[6], b[6], c1, c2, c3);
682 mul_add_c(a[5], b[7], c1, c2, c3);
685 mul_add_c(a[6], b[7], c2, c3, c1);
686 mul_add_c(a[7], b[6], c2, c3, c1);
687 r[13] = c2;
688 c2 = 0;
689 mul_add_c(a[7], b[7], c3, c1, c2);
696 BN_ULONG c1, c2, c3;
699 c2 = 0;
701 mul_add_c(a[0], b[0], c1, c2, c3);
704 mul_add_c(a[0], b[1], c2, c3, c1);
705 mul_add_c(a[1], b[0], c2, c3, c1);
706 r[1] = c2;
707 c2 = 0;
708 mul_add_c(a[2], b[0], c3, c1, c2);
709 mul_add_c(a[1], b[1], c3, c1, c2);
710 mul_add_c(a[0], b[2], c3, c1, c2);
713 mul_add_c(a[0], b[3], c1, c2, c3);
714 mul_add_c(a[1], b[2], c1, c2, c3);
715 mul_add_c(a[2], b[1], c1, c2, c3);
716 mul_add_c(a[3], b[0], c1, c2, c3);
719 mul_add_c(a[3], b[1], c2, c3, c1);
720 mul_add_c(a[2], b[2], c2, c3, c1);
721 mul_add_c(a[1], b[3], c2, c3, c1);
722 r[4] = c2;
723 c2 = 0;
724 mul_add_c(a[2], b[3], c3, c1, c2);
725 mul_add_c(a[3], b[2], c3, c1, c2);
728 mul_add_c(a[3], b[3], c1, c2, c3);
730 r[7] = c2;
735 BN_ULONG c1, c2, c3;
738 c2 = 0;
740 sqr_add_c(a, 0, c1, c2, c3);
743 sqr_add_c2(a, 1, 0, c2, c3, c1);
744 r[1] = c2;
745 c2 = 0;
746 sqr_add_c(a, 1, c3, c1, c2);
747 sqr_add_c2(a, 2, 0, c3, c1, c2);
750 sqr_add_c2(a, 3, 0, c1, c2, c3);
751 sqr_add_c2(a, 2, 1, c1, c2, c3);
754 sqr_add_c(a, 2, c2, c3, c1);
755 sqr_add_c2(a, 3, 1, c2, c3, c1);
756 sqr_add_c2(a, 4, 0, c2, c3, c1);
757 r[4] = c2;
758 c2 = 0;
759 sqr_add_c2(a, 5, 0, c3, c1, c2);
760 sqr_add_c2(a, 4, 1, c3, c1, c2);
761 sqr_add_c2(a, 3, 2, c3, c1, c2);
764 sqr_add_c(a, 3, c1, c2, c3);
765 sqr_add_c2(a, 4, 2, c1, c2, c3);
766 sqr_add_c2(a, 5, 1, c1, c2, c3);
767 sqr_add_c2(a, 6, 0, c1, c2, c3);
770 sqr_add_c2(a, 7, 0, c2, c3, c1);
771 sqr_add_c2(a, 6, 1, c2, c3, c1);
772 sqr_add_c2(a, 5, 2, c2, c3, c1);
773 sqr_add_c2(a, 4, 3, c2, c3, c1);
774 r[7] = c2;
775 c2 = 0;
776 sqr_add_c(a, 4, c3, c1, c2);
777 sqr_add_c2(a, 5, 3, c3, c1, c2);
778 sqr_add_c2(a, 6, 2, c3, c1, c2);
779 sqr_add_c2(a, 7, 1, c3, c1, c2);
782 sqr_add_c2(a, 7, 2, c1, c2, c3);
783 sqr_add_c2(a, 6, 3, c1, c2, c3);
784 sqr_add_c2(a, 5, 4, c1, c2, c3);
787 sqr_add_c(a, 5, c2, c3, c1);
788 sqr_add_c2(a, 6, 4, c2, c3, c1);
789 sqr_add_c2(a, 7, 3, c2, c3, c1);
790 r[10] = c2;
791 c2 = 0;
792 sqr_add_c2(a, 7, 4, c3, c1, c2);
793 sqr_add_c2(a, 6, 5, c3, c1, c2);
796 sqr_add_c(a, 6, c1, c2, c3);
797 sqr_add_c2(a, 7, 5, c1, c2, c3);
800 sqr_add_c2(a, 7, 6, c2, c3, c1);
801 r[13] = c2;
802 c2 = 0;
803 sqr_add_c(a, 7, c3, c1, c2);
810 BN_ULONG c1, c2, c3;
813 c2 = 0;
815 sqr_add_c(a, 0, c1, c2, c3);
818 sqr_add_c2(a, 1, 0, c2, c3, c1);
819 r[1] = c2;
820 c2 = 0;
821 sqr_add_c(a, 1, c3, c1, c2);
822 sqr_add_c2(a, 2, 0, c3, c1, c2);
825 sqr_add_c2(a, 3, 0, c1, c2, c3);
826 sqr_add_c2(a, 2, 1, c1, c2, c3);
829 sqr_add_c(a, 2, c2, c3, c1);
830 sqr_add_c2(a, 3, 1, c2, c3, c1);
831 r[4] = c2;
832 c2 = 0;
833 sqr_add_c2(a, 3, 2, c3, c1, c2);
836 sqr_add_c(a, 3, c1, c2, c3);
838 r[7] = c2;