64 #if defined( INC_ALL )
71 #define OPENSSL_BN_ASM_PART_WORDS
74 #if defined(OPENSSL_NO_ASM) || !defined(OPENSSL_BN_ASM_PART_WORDS)
104 fprintf(stderr,
" bn_sub_part_words %d + %d (dl < 0, c = %d)\n", cl, dl, c);
111 if (++dl >= 0)
break;
116 if (++dl >= 0)
break;
121 if (++dl >= 0)
break;
126 if (++dl >= 0)
break;
136 fprintf(stderr,
" bn_sub_part_words %d + %d (dl > 0, c = %d)\n", cl, dl, c);
143 if (--dl <= 0)
break;
148 if (--dl <= 0)
break;
153 if (--dl <= 0)
break;
158 if (--dl <= 0)
break;
167 fprintf(stderr,
" bn_sub_part_words %d + %d (dl > 0, c == 0)\n", cl, dl);
171 switch (save_dl - dl)
175 if (--dl <= 0)
break;
178 if (--dl <= 0)
break;
181 if (--dl <= 0)
break;
190 fprintf(stderr,
" bn_sub_part_words %d + %d (dl > 0, copy)\n", cl, dl);
195 if (--dl <= 0)
break;
197 if (--dl <= 0)
break;
199 if (--dl <= 0)
break;
201 if (--dl <= 0)
break;
232 fprintf(stderr,
" bn_add_part_words %d + %d (dl < 0, c = %d)\n", cl, dl, c);
239 if (++dl >= 0)
break;
244 if (++dl >= 0)
break;
249 if (++dl >= 0)
break;
254 if (++dl >= 0)
break;
263 fprintf(stderr,
" bn_add_part_words %d + %d (dl < 0, c == 0)\n", cl, dl);
267 switch (dl - save_dl)
271 if (++dl >= 0)
break;
274 if (++dl >= 0)
break;
277 if (++dl >= 0)
break;
286 fprintf(stderr,
" bn_add_part_words %d + %d (dl < 0, copy)\n", cl, dl);
291 if (++dl >= 0)
break;
293 if (++dl >= 0)
break;
295 if (++dl >= 0)
break;
297 if (++dl >= 0)
break;
308 fprintf(stderr,
" bn_add_part_words %d + %d (dl > 0)\n", cl, dl);
315 if (--dl <= 0)
break;
320 if (--dl <= 0)
break;
325 if (--dl <= 0)
break;
330 if (--dl <= 0)
break;
337 fprintf(stderr,
" bn_add_part_words %d + %d (dl > 0, c == 0)\n", cl, dl);
343 switch (save_dl - dl)
347 if (--dl <= 0)
break;
350 if (--dl <= 0)
break;
353 if (--dl <= 0)
break;
362 fprintf(stderr,
" bn_add_part_words %d + %d (dl > 0, copy)\n", cl, dl);
367 if (--dl <= 0)
break;
369 if (--dl <= 0)
break;
371 if (--dl <= 0)
break;
373 if (--dl <= 0)
break;
401 int tna=n+dna, tnb=n+dnb;
402 unsigned int neg,zero;
406 fprintf(stderr,
" bn_mul_recursive %d * %d\n",n2,n2);
419 if (n2 == 8 && dna == 0 && dnb == 0)
430 memset(&r[2*n2 + dna + dnb], 0,
437 #if defined __SUNPRO_C
475 if (n == 4 && dna == 0 && dnb == 0)
481 memset(&(t[n2]),0,8*
sizeof(
BN_ULONG));
486 else if (n == 8 && dna == 0 && dnb == 0)
493 memset(&(t[n2]),0,16*
sizeof(
BN_ULONG));
505 memset(&(t[n2]),0,n2*
sizeof(
BN_ULONG));
564 fprintf(stderr,
" bn_mul_part_recursive (%d+%d) * (%d+%d)\n",
617 memset(&(r[n2+tn*2]),0,
sizeof(
BN_ULONG)*(n2-tn*2));
626 memset(&(r[n2+tna+tnb]),0,
sizeof(
BN_ULONG)*(n2-tna-tnb));
644 memset(&(r[n2+i*2]),0,
sizeof(
BN_ULONG)*(n2-i*2));
650 memset(&(r[n2+tna+tnb]),0,
655 memset(&(r[n2]),0,
sizeof(
BN_ULONG)*n2);
669 if (i < tna || i < tnb)
676 else if (i == tna || i == tnb)
741 fprintf(stderr,
" bn_mul_low_recursive %d * %d\n",n2,n2);
775 fprintf(stderr,
" bn_mul_high %d * %d\n",n2,n2);
957 #if defined(BN_MUL_COMBA) || defined(BN_RECURSION)
966 fprintf(stderr,
"BN_mul %d * %d\n",a->
top,b->
top);
976 if ((al == 0) || (bl == 0))
984 if ((r == a) || (r == b))
992 #if defined(BN_MUL_COMBA) || defined(BN_RECURSION)
1019 if (i >= -1 && i <= 1)
1034 assert(j <= al || j <= bl);
1037 if( t == NULL )
goto err;
1038 if (al > j || bl > j)
1102 #if defined(BN_MUL_COMBA) || defined(BN_RECURSION)
1119 fprintf(stderr,
" bn_mul_normal %d * %d\n",na,nb);
1127 itmp=na; na=nb; nb=itmp;
1128 ltmp=a; a=b; b=ltmp;
1142 if (--nb <= 0)
return;
1144 if (--nb <= 0)
return;
1146 if (--nb <= 0)
return;
1148 if (--nb <= 0)
return;
1159 fprintf(stderr,
" bn_mul_low_normal %d * %d\n",n,n);
1165 if (--n <= 0)
return;
1167 if (--n <= 0)
return;
1169 if (--n <= 0)
return;
1171 if (--n <= 0)
return;