trim trailing spaces
This commit is contained in:
		
							parent
							
								
									30fcfec893
								
							
						
					
					
						commit
						410ae3951e
					
				
							
								
								
									
										4
									
								
								gen.pl
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								gen.pl
									
									
									
									
									
								
							| @ -14,4 +14,6 @@ foreach my $filename (glob "bn*.c") { | ||||
|    close SRC or die "Error closing $filename after reading: $!"; | ||||
| } | ||||
| print OUT "\n/* EOF */\n"; | ||||
| close OUT or die "Error closing mpi.c after writing: $!"; | ||||
| close OUT or die "Error closing mpi.c after writing: $!"; | ||||
| 
 | ||||
| system('perl -pli -e "s/\s*$//" mpi.c'); | ||||
|  | ||||
							
								
								
									
										152
									
								
								mtest/mpi.c
									
									
									
									
									
								
							
							
						
						
									
										152
									
								
								mtest/mpi.c
									
									
									
									
									
								
							| @ -22,7 +22,7 @@ | ||||
| #define DIAG(T,V) | ||||
| #endif | ||||
| 
 | ||||
| /* 
 | ||||
| /*
 | ||||
|    If MP_LOGTAB is not defined, use the math library to compute the | ||||
|    logarithms on the fly.  Otherwise, use the static table below. | ||||
|    Pick which works best for your system. | ||||
| @ -33,7 +33,7 @@ | ||||
| 
 | ||||
| /*
 | ||||
|   A table of the logs of 2 for various bases (the 0 and 1 entries of | ||||
|   this table are meaningless and should not be referenced).   | ||||
|   this table are meaningless and should not be referenced). | ||||
| 
 | ||||
|   This table is used to compute output lengths for the mp_toradix() | ||||
|   function.  Since a number n in radix r takes up about log_r(n) | ||||
| @ -43,7 +43,7 @@ | ||||
|   log_r(n) = log_2(n) * log_r(2) | ||||
| 
 | ||||
|   This table, therefore, is a table of log_r(2) for 2 <= r <= 36, | ||||
|   which are the output bases supported.   | ||||
|   which are the output bases supported. | ||||
|  */ | ||||
| 
 | ||||
| #include "logtab.h" | ||||
| @ -104,7 +104,7 @@ static const char *mp_err_string[] = { | ||||
| /* Value to digit maps for radix conversion   */ | ||||
| 
 | ||||
| /* s_dmap_1 - standard digits and letters */ | ||||
| static const char *s_dmap_1 =  | ||||
| static const char *s_dmap_1 = | ||||
|   "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"; | ||||
| 
 | ||||
| #if 0 | ||||
| @ -117,7 +117,7 @@ static const char *s_dmap_2 = | ||||
| 
 | ||||
| /* {{{ Static function declarations */ | ||||
| 
 | ||||
| /* 
 | ||||
| /*
 | ||||
|    If MP_MACRO is false, these will be defined as actual functions; | ||||
|    otherwise, suitable macro definitions will be used.  This works | ||||
|    around the fact that ANSI C89 doesn't support an 'inline' keyword | ||||
| @ -258,7 +258,7 @@ mp_err mp_init_array(mp_int mp[], int count) | ||||
|   return MP_OKAY; | ||||
| 
 | ||||
|  CLEANUP: | ||||
|   while(--pos >= 0)  | ||||
|   while(--pos >= 0) | ||||
|     mp_clear(&mp[pos]); | ||||
| 
 | ||||
|   return res; | ||||
| @ -355,7 +355,7 @@ mp_err mp_copy(mp_int *from, mp_int *to) | ||||
|     if(ALLOC(to) >= USED(from)) { | ||||
|       s_mp_setz(DIGITS(to) + USED(from), ALLOC(to) - USED(from)); | ||||
|       s_mp_copy(DIGITS(from), DIGITS(to), USED(from)); | ||||
|        | ||||
| 
 | ||||
|     } else { | ||||
|       if((tmp = s_mp_alloc(USED(from), sizeof(mp_digit))) == NULL) | ||||
| 	return MP_MEM; | ||||
| @ -445,7 +445,7 @@ void   mp_clear_array(mp_int mp[], int count) | ||||
| { | ||||
|   ARGCHK(mp != NULL && count > 0, MP_BADARG); | ||||
| 
 | ||||
|   while(--count >= 0)  | ||||
|   while(--count >= 0) | ||||
|     mp_clear(&mp[count]); | ||||
| 
 | ||||
| } /* end mp_clear_array() */ | ||||
| @ -455,7 +455,7 @@ void   mp_clear_array(mp_int mp[], int count) | ||||
| /* {{{ mp_zero(mp) */ | ||||
| 
 | ||||
| /*
 | ||||
|   mp_zero(mp)  | ||||
|   mp_zero(mp) | ||||
| 
 | ||||
|   Set mp to zero.  Does not change the allocated size of the structure, | ||||
|   and therefore cannot fail (except on a bad argument, which we ignore) | ||||
| @ -506,7 +506,7 @@ mp_err mp_set_int(mp_int *mp, long z) | ||||
|     if((res = s_mp_mul_2d(mp, CHAR_BIT)) != MP_OKAY) | ||||
|       return res; | ||||
| 
 | ||||
|     res = s_mp_add_d(mp,  | ||||
|     res = s_mp_add_d(mp, | ||||
| 		     (mp_digit)((v >> (ix * CHAR_BIT)) & UCHAR_MAX)); | ||||
|     if(res != MP_OKAY) | ||||
|       return res; | ||||
| @ -841,9 +841,9 @@ mp_err mp_neg(mp_int *a, mp_int *b) | ||||
|   if((res = mp_copy(a, b)) != MP_OKAY) | ||||
|     return res; | ||||
| 
 | ||||
|   if(s_mp_cmp_d(b, 0) == MP_EQ)  | ||||
|   if(s_mp_cmp_d(b, 0) == MP_EQ) | ||||
|     SIGN(b) = MP_ZPOS; | ||||
|   else  | ||||
|   else | ||||
|     SIGN(b) = (SIGN(b) == MP_NEG) ? MP_ZPOS : MP_NEG; | ||||
| 
 | ||||
|   return MP_OKAY; | ||||
| @ -870,7 +870,7 @@ mp_err mp_add(mp_int *a, mp_int *b, mp_int *c) | ||||
|   if(SIGN(a) == SIGN(b)) { /* same sign:  add values, keep sign */ | ||||
| 
 | ||||
|     /* Commutativity of addition lets us do this in either order,
 | ||||
|        so we avoid having to use a temporary even if the result  | ||||
|        so we avoid having to use a temporary even if the result | ||||
|        is supposed to replace the output | ||||
|      */ | ||||
|     if(c == b) { | ||||
| @ -880,14 +880,14 @@ mp_err mp_add(mp_int *a, mp_int *b, mp_int *c) | ||||
|       if(c != a && (res = mp_copy(a, c)) != MP_OKAY) | ||||
| 	return res; | ||||
| 
 | ||||
|       if((res = s_mp_add(c, b)) != MP_OKAY)  | ||||
|       if((res = s_mp_add(c, b)) != MP_OKAY) | ||||
| 	return res; | ||||
|     } | ||||
| 
 | ||||
|   } else if((cmp = s_mp_cmp(a, b)) > 0) {  /* different sign: a > b   */ | ||||
| 
 | ||||
|     /* If the output is going to be clobbered, we will use a temporary
 | ||||
|        variable; otherwise, we'll do it without touching the memory  | ||||
|        variable; otherwise, we'll do it without touching the memory | ||||
|        allocator at all, if possible | ||||
|      */ | ||||
|     if(c == b) { | ||||
| @ -1019,7 +1019,7 @@ mp_err mp_sub(mp_int *a, mp_int *b, mp_int *c) | ||||
|       mp_clear(&tmp); | ||||
| 
 | ||||
|     } else { | ||||
|       if(c != b && ((res = mp_copy(b, c)) != MP_OKAY))  | ||||
|       if(c != b && ((res = mp_copy(b, c)) != MP_OKAY)) | ||||
| 	return res; | ||||
| 
 | ||||
|       if((res = s_mp_sub(c, a)) != MP_OKAY) | ||||
| @ -1066,12 +1066,12 @@ mp_err mp_mul(mp_int *a, mp_int *b, mp_int *c) | ||||
|     if((res = s_mp_mul(c, b)) != MP_OKAY) | ||||
|       return res; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   if(sgn == MP_ZPOS || s_mp_cmp_d(c, 0) == MP_EQ) | ||||
|     SIGN(c) = MP_ZPOS; | ||||
|   else | ||||
|     SIGN(c) = sgn; | ||||
|    | ||||
| 
 | ||||
|   return MP_OKAY; | ||||
| 
 | ||||
| } /* end mp_mul() */ | ||||
| @ -1160,7 +1160,7 @@ mp_err mp_div(mp_int *a, mp_int *b, mp_int *q, mp_int *r) | ||||
| 	return res; | ||||
|     } | ||||
| 
 | ||||
|     if(q)  | ||||
|     if(q) | ||||
|       mp_zero(q); | ||||
| 
 | ||||
|     return MP_OKAY; | ||||
| @ -1206,10 +1206,10 @@ mp_err mp_div(mp_int *a, mp_int *b, mp_int *q, mp_int *r) | ||||
|     SIGN(&rtmp) = MP_ZPOS; | ||||
| 
 | ||||
|   /* Copy output, if it is needed      */ | ||||
|   if(q)  | ||||
|   if(q) | ||||
|     s_mp_exch(&qtmp, q); | ||||
| 
 | ||||
|   if(r)  | ||||
|   if(r) | ||||
|     s_mp_exch(&rtmp, r); | ||||
| 
 | ||||
| CLEANUP: | ||||
| @ -1286,12 +1286,12 @@ mp_err mp_expt(mp_int *a, mp_int *b, mp_int *c) | ||||
|     /* Loop over bits of each non-maximal digit */ | ||||
|     for(bit = 0; bit < DIGIT_BIT; bit++) { | ||||
|       if(d & 1) { | ||||
| 	if((res = s_mp_mul(&s, &x)) != MP_OKAY)  | ||||
| 	if((res = s_mp_mul(&s, &x)) != MP_OKAY) | ||||
| 	  goto CLEANUP; | ||||
|       } | ||||
| 
 | ||||
|       d >>= 1; | ||||
|        | ||||
| 
 | ||||
|       if((res = s_mp_sqr(&x)) != MP_OKAY) | ||||
| 	goto CLEANUP; | ||||
|     } | ||||
| @ -1311,7 +1311,7 @@ mp_err mp_expt(mp_int *a, mp_int *b, mp_int *c) | ||||
|     if((res = s_mp_sqr(&x)) != MP_OKAY) | ||||
|       goto CLEANUP; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   if(mp_iseven(b)) | ||||
|     SIGN(&s) = SIGN(a); | ||||
| 
 | ||||
| @ -1362,7 +1362,7 @@ mp_err mp_mod(mp_int *a, mp_int *m, mp_int *c) | ||||
| 
 | ||||
|   /*
 | ||||
|      If |a| > m, we need to divide to get the remainder and take the | ||||
|      absolute value.   | ||||
|      absolute value. | ||||
| 
 | ||||
|      If |a| < m, we don't need to do any division, just copy and adjust | ||||
|      the sign (if a is negative). | ||||
| @ -1376,7 +1376,7 @@ mp_err mp_mod(mp_int *a, mp_int *m, mp_int *c) | ||||
|   if((mag = s_mp_cmp(a, m)) > 0) { | ||||
|     if((res = mp_div(a, m, NULL, c)) != MP_OKAY) | ||||
|       return res; | ||||
|      | ||||
| 
 | ||||
|     if(SIGN(c) == MP_NEG) { | ||||
|       if((res = mp_add(c, m, c)) != MP_OKAY) | ||||
| 	return res; | ||||
| @ -1391,7 +1391,7 @@ mp_err mp_mod(mp_int *a, mp_int *m, mp_int *c) | ||||
| 	return res; | ||||
| 
 | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|   } else { | ||||
|     mp_zero(c); | ||||
| 
 | ||||
| @ -1464,9 +1464,9 @@ mp_err mp_sqrt(mp_int *a, mp_int *b) | ||||
|     return MP_RANGE; | ||||
| 
 | ||||
|   /* Special cases for zero and one, trivial     */ | ||||
|   if(mp_cmp_d(a, 0) == MP_EQ || mp_cmp_d(a, 1) == MP_EQ)  | ||||
|   if(mp_cmp_d(a, 0) == MP_EQ || mp_cmp_d(a, 1) == MP_EQ) | ||||
|     return mp_copy(a, b); | ||||
|      | ||||
| 
 | ||||
|   /* Initialize the temporaries we'll use below  */ | ||||
|   if((res = mp_init_size(&t, USED(a))) != MP_OKAY) | ||||
|     return res; | ||||
| @ -1508,7 +1508,7 @@ mp_add_d(&x, 1, &x); | ||||
|  CLEANUP: | ||||
|   mp_clear(&x); | ||||
|  X: | ||||
|   mp_clear(&t);  | ||||
|   mp_clear(&t); | ||||
| 
 | ||||
|   return res; | ||||
| 
 | ||||
| @ -1626,7 +1626,7 @@ mp_err mp_sqrmod(mp_int *a, mp_int *m, mp_int *c) | ||||
|   Compute c = (a ** b) mod m.  Uses a standard square-and-multiply | ||||
|   method with modular reductions at each step. (This is basically the | ||||
|   same code as mp_expt(), except for the addition of the reductions) | ||||
|    | ||||
| 
 | ||||
|   The modular reductions are done using Barrett's algorithm (see | ||||
|   s_mp_reduce() below for details) | ||||
|  */ | ||||
| @ -1655,7 +1655,7 @@ mp_err mp_exptmod(mp_int *a, mp_int *b, mp_int *m, mp_int *c) | ||||
|   mp_set(&s, 1); | ||||
| 
 | ||||
|   /* mu = b^2k / m */ | ||||
|   s_mp_add_d(&mu, 1);  | ||||
|   s_mp_add_d(&mu, 1); | ||||
|   s_mp_lshd(&mu, 2 * USED(m)); | ||||
|   if((res = mp_div(&mu, m, &mu, NULL)) != MP_OKAY) | ||||
|     goto CLEANUP; | ||||
| @ -1866,7 +1866,7 @@ int    mp_cmp_int(mp_int *a, long z) | ||||
|   int     out; | ||||
| 
 | ||||
|   ARGCHK(a != NULL, MP_EQ); | ||||
|    | ||||
| 
 | ||||
|   mp_init(&tmp); mp_set_int(&tmp, z); | ||||
|   out = mp_cmp(a, &tmp); | ||||
|   mp_clear(&tmp); | ||||
| @ -1953,13 +1953,13 @@ mp_err mp_gcd(mp_int *a, mp_int *b, mp_int *c) | ||||
|   if(mp_isodd(&u)) { | ||||
|     if((res = mp_copy(&v, &t)) != MP_OKAY) | ||||
|       goto CLEANUP; | ||||
|      | ||||
| 
 | ||||
|     /* t = -v */ | ||||
|     if(SIGN(&v) == MP_ZPOS) | ||||
|       SIGN(&t) = MP_NEG; | ||||
|     else | ||||
|       SIGN(&t) = MP_ZPOS; | ||||
|      | ||||
| 
 | ||||
|   } else { | ||||
|     if((res = mp_copy(&u, &t)) != MP_OKAY) | ||||
|       goto CLEANUP; | ||||
| @ -2152,7 +2152,7 @@ mp_err mp_xgcd(mp_int *a, mp_int *b, mp_int *g, mp_int *x, mp_int *y) | ||||
| 
 | ||||
|       if(y) | ||||
| 	if((res = mp_copy(&D, y)) != MP_OKAY) goto CLEANUP; | ||||
|        | ||||
| 
 | ||||
|       if(g) | ||||
| 	if((res = mp_mul(&gx, &v, g)) != MP_OKAY) goto CLEANUP; | ||||
| 
 | ||||
| @ -2255,7 +2255,7 @@ void   mp_print(mp_int *mp, FILE *ofp) | ||||
| 
 | ||||
| /* {{{ mp_read_signed_bin(mp, str, len) */ | ||||
| 
 | ||||
| /* 
 | ||||
| /*
 | ||||
|    mp_read_signed_bin(mp, str, len) | ||||
| 
 | ||||
|    Read in a raw value (base 256) into the given mp_int | ||||
| @ -2332,16 +2332,16 @@ mp_err  mp_read_unsigned_bin(mp_int *mp, unsigned char *str, int len) | ||||
|     if((res = mp_add_d(mp, str[ix], mp)) != MP_OKAY) | ||||
|       return res; | ||||
|   } | ||||
|    | ||||
| 
 | ||||
|   return MP_OKAY; | ||||
|    | ||||
| 
 | ||||
| } /* end mp_read_unsigned_bin() */ | ||||
| 
 | ||||
| /* }}} */ | ||||
| 
 | ||||
| /* {{{ mp_unsigned_bin_size(mp) */ | ||||
| 
 | ||||
| int     mp_unsigned_bin_size(mp_int *mp)  | ||||
| int     mp_unsigned_bin_size(mp_int *mp) | ||||
| { | ||||
|   mp_digit   topdig; | ||||
|   int        count; | ||||
| @ -2440,7 +2440,7 @@ int    mp_count_bits(mp_int *mp) | ||||
|   } | ||||
| 
 | ||||
|   return len; | ||||
|    | ||||
| 
 | ||||
| } /* end mp_count_bits() */ | ||||
| 
 | ||||
| /* }}} */ | ||||
| @ -2462,14 +2462,14 @@ mp_err  mp_read_radix(mp_int *mp, unsigned char *str, int radix) | ||||
|   mp_err  res; | ||||
|   mp_sign sig = MP_ZPOS; | ||||
| 
 | ||||
|   ARGCHK(mp != NULL && str != NULL && radix >= 2 && radix <= MAX_RADIX,  | ||||
|   ARGCHK(mp != NULL && str != NULL && radix >= 2 && radix <= MAX_RADIX, | ||||
| 	 MP_BADARG); | ||||
| 
 | ||||
|   mp_zero(mp); | ||||
| 
 | ||||
|   /* Skip leading non-digit characters until a digit or '-' or '+' */ | ||||
|   while(str[ix] &&  | ||||
| 	(s_mp_tovalue(str[ix], radix) < 0) &&  | ||||
|   while(str[ix] && | ||||
| 	(s_mp_tovalue(str[ix], radix) < 0) && | ||||
| 	str[ix] != '-' && | ||||
| 	str[ix] != '+') { | ||||
|     ++ix; | ||||
| @ -2525,7 +2525,7 @@ int    mp_radix_size(mp_int *mp, int radix) | ||||
| /* num = number of digits
 | ||||
|    qty = number of bits per digit | ||||
|    radix = target base | ||||
|     | ||||
| 
 | ||||
|    Return the number of digits in the specified radix that would be | ||||
|    needed to express 'num' digits of 'qty' bits each. | ||||
|  */ | ||||
| @ -2594,7 +2594,7 @@ mp_err mp_toradix(mp_int *mp, unsigned char *str, int radix) | ||||
|       ++ix; | ||||
|       --pos; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     mp_clear(&tmp); | ||||
|   } | ||||
| 
 | ||||
| @ -2806,18 +2806,18 @@ void     s_mp_exch(mp_int *a, mp_int *b) | ||||
| 
 | ||||
| /* {{{ s_mp_lshd(mp, p) */ | ||||
| 
 | ||||
| /* 
 | ||||
| /*
 | ||||
|    Shift mp leftward by p digits, growing if needed, and zero-filling | ||||
|    the in-shifted digits at the right end.  This is a convenient | ||||
|    alternative to multiplication by powers of the radix | ||||
|  */    | ||||
|  */ | ||||
| 
 | ||||
| mp_err   s_mp_lshd(mp_int *mp, mp_size p) | ||||
| { | ||||
|   mp_err   res; | ||||
|   mp_size  pos; | ||||
|   mp_digit *dp; | ||||
|   int     ix; | ||||
|   int ix; | ||||
| 
 | ||||
|   if(p == 0) | ||||
|     return MP_OKAY; | ||||
| @ -2829,7 +2829,7 @@ mp_err   s_mp_lshd(mp_int *mp, mp_size p) | ||||
|   dp = DIGITS(mp); | ||||
| 
 | ||||
|   /* Shift all the significant figures over as needed */ | ||||
|   for(ix = pos - p; ix >= 0; ix--)  | ||||
|   for(ix = pos - p; ix >= 0; ix--) | ||||
|     dp[ix + p] = dp[ix]; | ||||
| 
 | ||||
|   /* Fill the bottom digits with zeroes */ | ||||
| @ -2844,7 +2844,7 @@ mp_err   s_mp_lshd(mp_int *mp, mp_size p) | ||||
| 
 | ||||
| /* {{{ s_mp_rshd(mp, p) */ | ||||
| 
 | ||||
| /* 
 | ||||
| /*
 | ||||
|    Shift mp rightward by p digits.  Maintains the invariant that | ||||
|    digits above the precision are all zero.  Digits shifted off the | ||||
|    end are lost.  Cannot fail. | ||||
| @ -3054,7 +3054,7 @@ void     s_mp_div_2d(mp_int *mp, mp_digit d) | ||||
|   end of the division process). | ||||
| 
 | ||||
|   We multiply by the smallest power of 2 that gives us a leading digit | ||||
|   at least half the radix.  By choosing a power of 2, we simplify the  | ||||
|   at least half the radix.  By choosing a power of 2, we simplify the | ||||
|   multiplication and division steps to simple shifts. | ||||
|  */ | ||||
| mp_digit s_mp_norm(mp_int *a, mp_int *b) | ||||
| @ -3066,7 +3066,7 @@ mp_digit s_mp_norm(mp_int *a, mp_int *b) | ||||
|     t <<= 1; | ||||
|     ++d; | ||||
|   } | ||||
|      | ||||
| 
 | ||||
|   if(d != 0) { | ||||
|     s_mp_mul_2d(a, d); | ||||
|     s_mp_mul_2d(b, d); | ||||
| @ -3188,14 +3188,14 @@ mp_err   s_mp_mul_d(mp_int *a, mp_digit d) | ||||
|      test guarantees we have enough storage to do this safely. | ||||
|    */ | ||||
|   if(k) { | ||||
|     dp[max] = k;  | ||||
|     dp[max] = k; | ||||
|     USED(a) = max + 1; | ||||
|   } | ||||
| 
 | ||||
|   s_mp_clamp(a); | ||||
| 
 | ||||
|   return MP_OKAY; | ||||
|    | ||||
| 
 | ||||
| } /* end s_mp_mul_d() */ | ||||
| 
 | ||||
| /* }}} */ | ||||
| @ -3289,7 +3289,7 @@ mp_err   s_mp_add(mp_int *a, mp_int *b)        /* magnitude addition      */ | ||||
|   } | ||||
| 
 | ||||
|   /* If we run out of 'b' digits before we're actually done, make
 | ||||
|      sure the carries get propagated upward...   | ||||
|      sure the carries get propagated upward... | ||||
|    */ | ||||
|   used = USED(a); | ||||
|   while(w && ix < used) { | ||||
| @ -3351,7 +3351,7 @@ mp_err   s_mp_sub(mp_int *a, mp_int *b)        /* magnitude subtract      */ | ||||
|   /* Clobber any leading zeroes we created    */ | ||||
|   s_mp_clamp(a); | ||||
| 
 | ||||
|   /* 
 | ||||
|   /*
 | ||||
|      If there was a borrow out, then |b| > |a| in violation | ||||
|      of our input invariant.  We've already done the work, | ||||
|      but we'll at least complain about it... | ||||
| @ -3387,7 +3387,7 @@ mp_err   s_mp_reduce(mp_int *x, mp_int *m, mp_int *mu) | ||||
|   s_mp_mod_2d(&q, (mp_digit)(DIGIT_BIT * (um + 1))); | ||||
| #else | ||||
|   s_mp_mul_dig(&q, m, um + 1); | ||||
| #endif   | ||||
| #endif | ||||
| 
 | ||||
|   /* x = x - q */ | ||||
|   if((res = mp_sub(x, &q, x)) != MP_OKAY) | ||||
| @ -3441,7 +3441,7 @@ mp_err   s_mp_mul(mp_int *a, mp_int *b) | ||||
| 
 | ||||
|   pb = DIGITS(b); | ||||
|   for(ix = 0; ix < ub; ++ix, ++pb) { | ||||
|     if(*pb == 0)  | ||||
|     if(*pb == 0) | ||||
|       continue; | ||||
| 
 | ||||
|     /* Inner product:  Digits of a */ | ||||
| @ -3480,7 +3480,7 @@ void   s_mp_kmul(mp_digit *a, mp_digit *b, mp_digit *out, mp_size len) | ||||
|   for(ix = 0; ix < len; ++ix, ++b) { | ||||
|     if(*b == 0) | ||||
|       continue; | ||||
|      | ||||
| 
 | ||||
|     pa = a; | ||||
|     for(jx = 0; jx < len; ++jx, ++pa) { | ||||
|       pt = out + ix + jx; | ||||
| @ -3547,7 +3547,7 @@ mp_err   s_mp_sqr(mp_int *a) | ||||
|      */ | ||||
|     for(jx = ix + 1, pa2 = DIGITS(a) + jx; jx < used; ++jx, ++pa2) { | ||||
|       mp_word  u = 0, v; | ||||
|        | ||||
| 
 | ||||
|       /* Store this in a temporary to avoid indirections later */ | ||||
|       pt = pbt + ix + jx; | ||||
| 
 | ||||
| @ -3568,7 +3568,7 @@ mp_err   s_mp_sqr(mp_int *a) | ||||
|       v = *pt + k; | ||||
| 
 | ||||
|       /* If we do not already have an overflow carry, check to see
 | ||||
| 	 if the addition will cause one, and set the carry out if so  | ||||
| 	 if the addition will cause one, and set the carry out if so | ||||
|        */ | ||||
|       u |= ((MP_WORD_MAX - v) < w); | ||||
| 
 | ||||
| @ -3592,7 +3592,7 @@ mp_err   s_mp_sqr(mp_int *a) | ||||
|     /* If we are carrying out, propagate the carry to the next digit
 | ||||
|        in the output.  This may cascade, so we have to be somewhat | ||||
|        circumspect -- but we will have enough precision in the output | ||||
|        that we won't overflow  | ||||
|        that we won't overflow | ||||
|      */ | ||||
|     kx = 1; | ||||
|     while(k) { | ||||
| @ -3664,7 +3664,7 @@ mp_err   s_mp_div(mp_int *a, mp_int *b) | ||||
|   while(ix >= 0) { | ||||
|     /* Find a partial substring of a which is at least b */ | ||||
|     while(s_mp_cmp(&rem, b) < 0 && ix >= 0) { | ||||
|       if((res = s_mp_lshd(&rem, 1)) != MP_OKAY)  | ||||
|       if((res = s_mp_lshd(&rem, 1)) != MP_OKAY) | ||||
| 	goto CLEANUP; | ||||
| 
 | ||||
|       if((res = s_mp_lshd(", 1)) != MP_OKAY) | ||||
| @ -3676,8 +3676,8 @@ mp_err   s_mp_div(mp_int *a, mp_int *b) | ||||
|     } | ||||
| 
 | ||||
|     /* If we didn't find one, we're finished dividing    */ | ||||
|     if(s_mp_cmp(&rem, b) < 0)  | ||||
|       break;     | ||||
|     if(s_mp_cmp(&rem, b) < 0) | ||||
|       break; | ||||
| 
 | ||||
|     /* Compute a guess for the next quotient digit       */ | ||||
|     q = DIGIT(&rem, USED(&rem) - 1); | ||||
| @ -3695,7 +3695,7 @@ mp_err   s_mp_div(mp_int *a, mp_int *b) | ||||
|     if((res = s_mp_mul_d(&t, q)) != MP_OKAY) | ||||
|       goto CLEANUP; | ||||
| 
 | ||||
|     /* 
 | ||||
|     /*
 | ||||
|        If it's too big, back it off.  We should not have to do this | ||||
|        more than once, or, in rare cases, twice.  Knuth describes a | ||||
|        method by which this could be reduced to a maximum of once, but | ||||
| @ -3719,7 +3719,7 @@ mp_err   s_mp_div(mp_int *a, mp_int *b) | ||||
|   } | ||||
| 
 | ||||
|   /* Denormalize remainder                */ | ||||
|   if(d != 0)  | ||||
|   if(d != 0) | ||||
|     s_mp_div_2d(&rem, d); | ||||
| 
 | ||||
|   s_mp_clamp("); | ||||
| @ -3727,7 +3727,7 @@ mp_err   s_mp_div(mp_int *a, mp_int *b) | ||||
| 
 | ||||
|   /* Copy quotient back to output         */ | ||||
|   s_mp_exch(", a); | ||||
|    | ||||
| 
 | ||||
|   /* Copy remainder back to output        */ | ||||
|   s_mp_exch(&rem, b); | ||||
| 
 | ||||
| @ -3757,7 +3757,7 @@ mp_err   s_mp_2expt(mp_int *a, mp_digit k) | ||||
|   mp_zero(a); | ||||
|   if((res = s_mp_pad(a, dig + 1)) != MP_OKAY) | ||||
|     return res; | ||||
|    | ||||
| 
 | ||||
|   DIGIT(a, dig) |= (1 << bit); | ||||
| 
 | ||||
|   return MP_OKAY; | ||||
| @ -3815,7 +3815,7 @@ int      s_mp_cmp_d(mp_int *a, mp_digit d) | ||||
|   if(ua > 1) | ||||
|     return MP_GT; | ||||
| 
 | ||||
|   if(*ap < d)  | ||||
|   if(*ap < d) | ||||
|     return MP_LT; | ||||
|   else if(*ap > d) | ||||
|     return MP_GT; | ||||
| @ -3857,7 +3857,7 @@ int      s_mp_ispow2(mp_int *v) | ||||
|     } | ||||
| 
 | ||||
|     return ((uv - 1) * DIGIT_BIT) + extra; | ||||
|   }  | ||||
|   } | ||||
| 
 | ||||
|   return -1; | ||||
| 
 | ||||
| @ -3901,7 +3901,7 @@ int      s_mp_ispow2d(mp_digit d) | ||||
| int      s_mp_tovalue(char ch, int r) | ||||
| { | ||||
|   int    val, xch; | ||||
|    | ||||
| 
 | ||||
|   if(r > 36) | ||||
|     xch = ch; | ||||
|   else | ||||
| @ -3917,7 +3917,7 @@ int      s_mp_tovalue(char ch, int r) | ||||
|     val = 62; | ||||
|   else if(xch == '/') | ||||
|     val = 63; | ||||
|   else  | ||||
|   else | ||||
|     return -1; | ||||
| 
 | ||||
|   if(val < 0 || val >= r) | ||||
| @ -3939,7 +3939,7 @@ int      s_mp_tovalue(char ch, int r) | ||||
|   The results may be odd if you use a radix < 2 or > 64, you are | ||||
|   expected to know what you're doing. | ||||
|  */ | ||||
|    | ||||
| 
 | ||||
| char     s_mp_todigit(int val, int r, int low) | ||||
| { | ||||
|   char   ch; | ||||
| @ -3960,7 +3960,7 @@ char     s_mp_todigit(int val, int r, int low) | ||||
| 
 | ||||
| /* {{{ s_mp_outlen(bits, radix) */ | ||||
| 
 | ||||
| /* 
 | ||||
| /*
 | ||||
|    Return an estimate for how long a string is needed to hold a radix | ||||
|    r representation of a number with 'bits' significant bits. | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										514
									
								
								pre_gen/mpi.c
									
									
									
									
									
								
							
							
						
						
									
										514
									
								
								pre_gen/mpi.c
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user