@@ -448,31 +448,18 @@ static Bigint *
448448multadd (Bigint * b , int m , int a ) /* multiply by m and add a */
449449{
450450 int i , wds ;
451- #ifdef ULLong
452451 ULong * x ;
453452 ULLong carry , y ;
454- #else
455- ULong carry , * x , y ;
456- ULong xi , z ;
457- #endif
458453 Bigint * b1 ;
459454
460455 wds = b -> wds ;
461456 x = b -> x ;
462457 i = 0 ;
463458 carry = a ;
464459 do {
465- #ifdef ULLong
466460 y = * x * (ULLong )m + carry ;
467461 carry = y >> 32 ;
468462 * x ++ = (ULong )(y & FFFFFFFF );
469- #else
470- xi = * x ;
471- y = (xi & 0xffff ) * m + carry ;
472- z = (xi >> 16 ) * m + (y >> 16 );
473- carry = z >> 16 ;
474- * x ++ = (z << 16 ) + (y & 0xffff );
475- #endif
476463 }
477464 while (++ i < wds );
478465 if (carry ) {
@@ -633,12 +620,7 @@ mult(Bigint *a, Bigint *b)
633620 int k , wa , wb , wc ;
634621 ULong * x , * xa , * xae , * xb , * xbe , * xc , * xc0 ;
635622 ULong y ;
636- #ifdef ULLong
637623 ULLong carry , z ;
638- #else
639- ULong carry , z ;
640- ULong z2 ;
641- #endif
642624
643625 if ((!a -> x [0 ] && a -> wds == 1 ) || (!b -> x [0 ] && b -> wds == 1 )) {
644626 c = Balloc (0 );
@@ -670,7 +652,6 @@ mult(Bigint *a, Bigint *b)
670652 xb = b -> x ;
671653 xbe = xb + wb ;
672654 xc0 = c -> x ;
673- #ifdef ULLong
674655 for (; xb < xbe ; xc0 ++ ) {
675656 if ((y = * xb ++ )) {
676657 x = xa ;
@@ -685,39 +666,6 @@ mult(Bigint *a, Bigint *b)
685666 * xc = (ULong )carry ;
686667 }
687668 }
688- #else
689- for (; xb < xbe ; xb ++ , xc0 ++ ) {
690- if (y = * xb & 0xffff ) {
691- x = xa ;
692- xc = xc0 ;
693- carry = 0 ;
694- do {
695- z = (* x & 0xffff ) * y + (* xc & 0xffff ) + carry ;
696- carry = z >> 16 ;
697- z2 = (* x ++ >> 16 ) * y + (* xc >> 16 ) + carry ;
698- carry = z2 >> 16 ;
699- Storeinc (xc , z2 , z );
700- }
701- while (x < xae );
702- * xc = carry ;
703- }
704- if (y = * xb >> 16 ) {
705- x = xa ;
706- xc = xc0 ;
707- carry = 0 ;
708- z2 = * xc ;
709- do {
710- z = (* x & 0xffff ) * y + (* xc >> 16 ) + carry ;
711- carry = z >> 16 ;
712- Storeinc (xc , z , z2 );
713- z2 = (* x ++ >> 16 ) * y + (* xc & 0xffff ) + carry ;
714- carry = z2 >> 16 ;
715- }
716- while (x < xae );
717- * xc = z2 ;
718- }
719- }
720- #endif
721669 for (xc0 = c -> x , xc = xc0 + wc ; wc > 0 && !* -- xc ; -- wc ) ;
722670 c -> wds = wc ;
723671 return c ;
@@ -926,12 +874,7 @@ diff(Bigint *a, Bigint *b)
926874 Bigint * c ;
927875 int i , wa , wb ;
928876 ULong * xa , * xae , * xb , * xbe , * xc ;
929- #ifdef ULLong
930877 ULLong borrow , y ;
931- #else
932- ULong borrow , y ;
933- ULong z ;
934- #endif
935878
936879 i = cmp (a ,b );
937880 if (!i ) {
@@ -962,7 +905,6 @@ diff(Bigint *a, Bigint *b)
962905 xbe = xb + wb ;
963906 xc = c -> x ;
964907 borrow = 0 ;
965- #ifdef ULLong
966908 do {
967909 y = (ULLong )* xa ++ - * xb ++ - borrow ;
968910 borrow = y >> 32 & (ULong )1 ;
@@ -974,23 +916,6 @@ diff(Bigint *a, Bigint *b)
974916 borrow = y >> 32 & (ULong )1 ;
975917 * xc ++ = (ULong )(y & FFFFFFFF );
976918 }
977- #else
978- do {
979- y = (* xa & 0xffff ) - (* xb & 0xffff ) - borrow ;
980- borrow = (y & 0x10000 ) >> 16 ;
981- z = (* xa ++ >> 16 ) - (* xb ++ >> 16 ) - borrow ;
982- borrow = (z & 0x10000 ) >> 16 ;
983- Storeinc (xc , z , y );
984- }
985- while (xb < xbe );
986- while (xa < xae ) {
987- y = (* xa & 0xffff ) - borrow ;
988- borrow = (y & 0x10000 ) >> 16 ;
989- z = (* xa ++ >> 16 ) - borrow ;
990- borrow = (z & 0x10000 ) >> 16 ;
991- Storeinc (xc , z , y );
992- }
993- #endif
994919 while (!* -- xc )
995920 wa -- ;
996921 c -> wds = wa ;
@@ -1235,12 +1160,7 @@ quorem(Bigint *b, Bigint *S)
12351160{
12361161 int n ;
12371162 ULong * bx , * bxe , q , * sx , * sxe ;
1238- #ifdef ULLong
12391163 ULLong borrow , carry , y , ys ;
1240- #else
1241- ULong borrow , carry , y , ys ;
1242- ULong si , z , zs ;
1243- #endif
12441164
12451165 n = S -> wds ;
12461166#ifdef DEBUG
@@ -1262,23 +1182,11 @@ quorem(Bigint *b, Bigint *S)
12621182 borrow = 0 ;
12631183 carry = 0 ;
12641184 do {
1265- #ifdef ULLong
12661185 ys = * sx ++ * (ULLong )q + carry ;
12671186 carry = ys >> 32 ;
12681187 y = * bx - (ys & FFFFFFFF ) - borrow ;
12691188 borrow = y >> 32 & (ULong )1 ;
12701189 * bx ++ = (ULong )(y & FFFFFFFF );
1271- #else
1272- si = * sx ++ ;
1273- ys = (si & 0xffff ) * q + carry ;
1274- zs = (si >> 16 ) * q + (ys >> 16 );
1275- carry = zs >> 16 ;
1276- y = (* bx & 0xffff ) - (ys & 0xffff ) - borrow ;
1277- borrow = (y & 0x10000 ) >> 16 ;
1278- z = (* bx >> 16 ) - (zs & 0xffff ) - borrow ;
1279- borrow = (z & 0x10000 ) >> 16 ;
1280- Storeinc (bx , z , y );
1281- #endif
12821190 }
12831191 while (sx <= sxe );
12841192 if (!* bxe ) {
@@ -1295,23 +1203,11 @@ quorem(Bigint *b, Bigint *S)
12951203 bx = b -> x ;
12961204 sx = S -> x ;
12971205 do {
1298- #ifdef ULLong
12991206 ys = * sx ++ + carry ;
13001207 carry = ys >> 32 ;
13011208 y = * bx - (ys & FFFFFFFF ) - borrow ;
13021209 borrow = y >> 32 & (ULong )1 ;
13031210 * bx ++ = (ULong )(y & FFFFFFFF );
1304- #else
1305- si = * sx ++ ;
1306- ys = (si & 0xffff ) + carry ;
1307- zs = (si >> 16 ) + (ys >> 16 );
1308- carry = zs >> 16 ;
1309- y = (* bx & 0xffff ) - (ys & 0xffff ) - borrow ;
1310- borrow = (y & 0x10000 ) >> 16 ;
1311- z = (* bx >> 16 ) - (zs & 0xffff ) - borrow ;
1312- borrow = (z & 0x10000 ) >> 16 ;
1313- Storeinc (bx , z , y );
1314- #endif
13151211 }
13161212 while (sx <= sxe );
13171213 bx = b -> x ;
0 commit comments