Lines Matching refs:c0

484 /* mul_add_c(a,b,c0,c1,c2)  -- c+=a*b for three word number c=(c2,c1,c0) */
485 /* mul_add_c2(a,b,c0,c1,c2) -- c+=2*a*b for three word number c=(c2,c1,c0) */
486 /* sqr_add_c(a,i,c0,c1,c2) -- c+=a[i]^2 for three word number c=(c2,c1,c0) */
488 * sqr_add_c2(a,i,c0,c1,c2) -- c+=2*a[i]*a[j] for three word number
489 * c=(c2,c1,c0)
497 # define mul_add_c(a,b,c0,c1,c2) do { \
500 t += c0; /* no carry */ \
501 c0 = (BN_ULONG)Lw(t); \
506 # define mul_add_c2(a,b,c0,c1,c2) do { \
509 BN_ULLONG tt = t+c0; /* no carry */ \
510 c0 = (BN_ULONG)Lw(tt); \
513 t += c0; /* no carry */ \
514 c0 = (BN_ULONG)Lw(t); \
519 # define sqr_add_c(a,i,c0,c1,c2) do { \
522 t += c0; /* no carry */ \
523 c0 = (BN_ULONG)Lw(t); \
528 # define sqr_add_c2(a,i,j,c0,c1,c2) \
529 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
536 # define mul_add_c(a,b,c0,c1,c2) do { \
540 c0 += lo; hi += (c0<lo)?1:0; \
544 # define mul_add_c2(a,b,c0,c1,c2) do { \
548 c0 += lo; tt = hi+((c0<lo)?1:0); \
550 c0 += lo; hi += (c0<lo)?1:0; \
554 # define sqr_add_c(a,i,c0,c1,c2) do { \
558 c0 += lo; hi += (c0<lo)?1:0; \
562 # define sqr_add_c2(a,i,j,c0,c1,c2) \
563 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
570 # define mul_add_c(a,b,c0,c1,c2) do { \
574 c0 += lo; hi += (c0<lo)?1:0; \
578 # define mul_add_c2(a,b,c0,c1,c2) do { \
582 c0 += lo; tt = hi + ((c0<lo)?1:0); \
584 c0 += lo; hi += (c0<lo)?1:0; \
588 # define sqr_add_c(a,i,c0,c1,c2) do { \
592 c0 += lo; hi += (c0<lo)?1:0; \
596 # define sqr_add_c2(a,i,j,c0,c1,c2) \
597 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
604 # define mul_add_c(a,b,c0,c1,c2) do { \
608 c0 = (c0+lo)&BN_MASK2; if (c0<lo) hi++; \
612 # define mul_add_c2(a,b,c0,c1,c2) do { \
618 c0 = (c0+lo)&BN_MASK2; if (c0<lo) tt++; \
620 c0 = (c0+lo)&BN_MASK2; if (c0<lo) hi++; \
624 # define sqr_add_c(a,i,c0,c1,c2) do { \
627 c0 = (c0+lo)&BN_MASK2; if (c0<lo) hi++; \
631 # define sqr_add_c2(a,i,j,c0,c1,c2) \
632 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
904 BN_ULONG c0, c1, ml, *tp, n0;
920 c0 = 0;
926 mul(tp[j], ap[j], ml, mh, c0);
929 mul(tp[j], ap[j], ml, c0);
932 tp[num] = c0;
937 c0 = 0;
943 mul_add(tp[j], ap[j], ml, mh, c0);
946 mul_add(tp[j], ap[j], ml, c0);
948 c1 = (tp[num] + c0) & BN_MASK2;
950 tp[num + 1] = (c1 < c0 ? 1 : 0);
954 c0 = 0;
958 mul_add(c1, np[0], ml, mh, c0);
960 mul_add(c1, ml, np[0], c0);
965 mul_add(c1, np[j], ml, mh, c0);
967 mul_add(c1, ml, np[j], c0);
971 c1 = (tp[num] + c0) & BN_MASK2;
973 tp[num] = tp[num + 1] + (c1 < c0 ? 1 : 0);
977 c0 = bn_sub_words(rp, tp, np, num);
978 if (tp[num] != 0 || c0 == 0) {
1047 BN_ULONG c0, c1, *tp, n0 = *n0p;
1057 c0 = bn_mul_add_words(tp, ap, num, bp[i]);
1058 c1 = (tp[num] + c0) & BN_MASK2;
1060 tp[num + 1] = (c1 < c0 ? 1 : 0);
1062 c0 = bn_mul_add_words(tp, np, num, tp[0] * n0);
1063 c1 = (tp[num] + c0) & BN_MASK2;
1065 tp[num + 1] += (c1 < c0 ? 1 : 0);
1071 c0 = bn_sub_words(rp, tp, np, num);
1072 if (tp[num] != 0 || c0 == 0) {