comparison tommath_class.h @ 142:d29b64170cf0 libtommath-orig

import of libtommath 0.32
author Matt Johnston <matt@ucc.asn.au>
date Sun, 19 Dec 2004 11:33:56 +0000
parents
children 81bc23421b45 d8254fc979e9
comparison
equal deleted inserted replaced
19:e1037a1e12e7 142:d29b64170cf0
1 #if !(defined(LTM1) && defined(LTM2) && defined(LTM3))
2 #if defined(LTM2)
3 #define LTM3
4 #endif
5 #if defined(LTM1)
6 #define LTM2
7 #endif
8 #define LTM1
9
10 #if defined(LTM_ALL)
11 #define BN_ERROR_C
12 #define BN_FAST_MP_INVMOD_C
13 #define BN_FAST_MP_MONTGOMERY_REDUCE_C
14 #define BN_FAST_S_MP_MUL_DIGS_C
15 #define BN_FAST_S_MP_MUL_HIGH_DIGS_C
16 #define BN_FAST_S_MP_SQR_C
17 #define BN_MP_2EXPT_C
18 #define BN_MP_ABS_C
19 #define BN_MP_ADD_C
20 #define BN_MP_ADD_D_C
21 #define BN_MP_ADDMOD_C
22 #define BN_MP_AND_C
23 #define BN_MP_CLAMP_C
24 #define BN_MP_CLEAR_C
25 #define BN_MP_CLEAR_MULTI_C
26 #define BN_MP_CMP_C
27 #define BN_MP_CMP_D_C
28 #define BN_MP_CMP_MAG_C
29 #define BN_MP_CNT_LSB_C
30 #define BN_MP_COPY_C
31 #define BN_MP_COUNT_BITS_C
32 #define BN_MP_DIV_C
33 #define BN_MP_DIV_2_C
34 #define BN_MP_DIV_2D_C
35 #define BN_MP_DIV_3_C
36 #define BN_MP_DIV_D_C
37 #define BN_MP_DR_IS_MODULUS_C
38 #define BN_MP_DR_REDUCE_C
39 #define BN_MP_DR_SETUP_C
40 #define BN_MP_EXCH_C
41 #define BN_MP_EXPT_D_C
42 #define BN_MP_EXPTMOD_C
43 #define BN_MP_EXPTMOD_FAST_C
44 #define BN_MP_EXTEUCLID_C
45 #define BN_MP_FREAD_C
46 #define BN_MP_FWRITE_C
47 #define BN_MP_GCD_C
48 #define BN_MP_GET_INT_C
49 #define BN_MP_GROW_C
50 #define BN_MP_INIT_C
51 #define BN_MP_INIT_COPY_C
52 #define BN_MP_INIT_MULTI_C
53 #define BN_MP_INIT_SET_C
54 #define BN_MP_INIT_SET_INT_C
55 #define BN_MP_INIT_SIZE_C
56 #define BN_MP_INVMOD_C
57 #define BN_MP_INVMOD_SLOW_C
58 #define BN_MP_IS_SQUARE_C
59 #define BN_MP_JACOBI_C
60 #define BN_MP_KARATSUBA_MUL_C
61 #define BN_MP_KARATSUBA_SQR_C
62 #define BN_MP_LCM_C
63 #define BN_MP_LSHD_C
64 #define BN_MP_MOD_C
65 #define BN_MP_MOD_2D_C
66 #define BN_MP_MOD_D_C
67 #define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
68 #define BN_MP_MONTGOMERY_REDUCE_C
69 #define BN_MP_MONTGOMERY_SETUP_C
70 #define BN_MP_MUL_C
71 #define BN_MP_MUL_2_C
72 #define BN_MP_MUL_2D_C
73 #define BN_MP_MUL_D_C
74 #define BN_MP_MULMOD_C
75 #define BN_MP_N_ROOT_C
76 #define BN_MP_NEG_C
77 #define BN_MP_OR_C
78 #define BN_MP_PRIME_FERMAT_C
79 #define BN_MP_PRIME_IS_DIVISIBLE_C
80 #define BN_MP_PRIME_IS_PRIME_C
81 #define BN_MP_PRIME_MILLER_RABIN_C
82 #define BN_MP_PRIME_NEXT_PRIME_C
83 #define BN_MP_PRIME_RABIN_MILLER_TRIALS_C
84 #define BN_MP_PRIME_RANDOM_EX_C
85 #define BN_MP_RADIX_SIZE_C
86 #define BN_MP_RADIX_SMAP_C
87 #define BN_MP_RAND_C
88 #define BN_MP_READ_RADIX_C
89 #define BN_MP_READ_SIGNED_BIN_C
90 #define BN_MP_READ_UNSIGNED_BIN_C
91 #define BN_MP_REDUCE_C
92 #define BN_MP_REDUCE_2K_C
93 #define BN_MP_REDUCE_2K_SETUP_C
94 #define BN_MP_REDUCE_IS_2K_C
95 #define BN_MP_REDUCE_SETUP_C
96 #define BN_MP_RSHD_C
97 #define BN_MP_SET_C
98 #define BN_MP_SET_INT_C
99 #define BN_MP_SHRINK_C
100 #define BN_MP_SIGNED_BIN_SIZE_C
101 #define BN_MP_SQR_C
102 #define BN_MP_SQRMOD_C
103 #define BN_MP_SQRT_C
104 #define BN_MP_SUB_C
105 #define BN_MP_SUB_D_C
106 #define BN_MP_SUBMOD_C
107 #define BN_MP_TO_SIGNED_BIN_C
108 #define BN_MP_TO_UNSIGNED_BIN_C
109 #define BN_MP_TOOM_MUL_C
110 #define BN_MP_TOOM_SQR_C
111 #define BN_MP_TORADIX_C
112 #define BN_MP_TORADIX_N_C
113 #define BN_MP_UNSIGNED_BIN_SIZE_C
114 #define BN_MP_XOR_C
115 #define BN_MP_ZERO_C
116 #define BN_PRIME_TAB_C
117 #define BN_REVERSE_C
118 #define BN_S_MP_ADD_C
119 #define BN_S_MP_EXPTMOD_C
120 #define BN_S_MP_MUL_DIGS_C
121 #define BN_S_MP_MUL_HIGH_DIGS_C
122 #define BN_S_MP_SQR_C
123 #define BN_S_MP_SUB_C
124 #define BNCORE_C
125 #endif
126
127 #if defined(BN_ERROR_C)
128 #define BN_MP_ERROR_TO_STRING_C
129 #endif
130
131 #if defined(BN_FAST_MP_INVMOD_C)
132 #define BN_MP_ISEVEN_C
133 #define BN_MP_INIT_MULTI_C
134 #define BN_MP_COPY_C
135 #define BN_MP_ABS_C
136 #define BN_MP_SET_C
137 #define BN_MP_DIV_2_C
138 #define BN_MP_ISODD_C
139 #define BN_MP_SUB_C
140 #define BN_MP_CMP_C
141 #define BN_MP_ISZERO_C
142 #define BN_MP_CMP_D_C
143 #define BN_MP_ADD_C
144 #define BN_MP_EXCH_C
145 #define BN_MP_CLEAR_MULTI_C
146 #endif
147
148 #if defined(BN_FAST_MP_MONTGOMERY_REDUCE_C)
149 #define BN_MP_GROW_C
150 #define BN_MP_RSHD_C
151 #define BN_MP_CLAMP_C
152 #define BN_MP_CMP_MAG_C
153 #define BN_S_MP_SUB_C
154 #endif
155
156 #if defined(BN_FAST_S_MP_MUL_DIGS_C)
157 #define BN_MP_GROW_C
158 #define BN_MP_CLAMP_C
159 #endif
160
161 #if defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C)
162 #define BN_MP_GROW_C
163 #define BN_MP_CLAMP_C
164 #endif
165
166 #if defined(BN_FAST_S_MP_SQR_C)
167 #define BN_MP_GROW_C
168 #define BN_MP_CLAMP_C
169 #endif
170
171 #if defined(BN_MP_2EXPT_C)
172 #define BN_MP_ZERO_C
173 #define BN_MP_GROW_C
174 #endif
175
176 #if defined(BN_MP_ABS_C)
177 #define BN_MP_COPY_C
178 #endif
179
180 #if defined(BN_MP_ADD_C)
181 #define BN_S_MP_ADD_C
182 #define BN_MP_CMP_MAG_C
183 #define BN_S_MP_SUB_C
184 #endif
185
186 #if defined(BN_MP_ADD_D_C)
187 #define BN_MP_GROW_C
188 #define BN_MP_SUB_D_C
189 #define BN_MP_CLAMP_C
190 #endif
191
192 #if defined(BN_MP_ADDMOD_C)
193 #define BN_MP_INIT_C
194 #define BN_MP_ADD_C
195 #define BN_MP_CLEAR_C
196 #define BN_MP_MOD_C
197 #endif
198
199 #if defined(BN_MP_AND_C)
200 #define BN_MP_INIT_COPY_C
201 #define BN_MP_CLAMP_C
202 #define BN_MP_EXCH_C
203 #define BN_MP_CLEAR_C
204 #endif
205
206 #if defined(BN_MP_CLAMP_C)
207 #endif
208
209 #if defined(BN_MP_CLEAR_C)
210 #endif
211
212 #if defined(BN_MP_CLEAR_MULTI_C)
213 #define BN_MP_CLEAR_C
214 #endif
215
216 #if defined(BN_MP_CMP_C)
217 #define BN_MP_CMP_MAG_C
218 #endif
219
220 #if defined(BN_MP_CMP_D_C)
221 #endif
222
223 #if defined(BN_MP_CMP_MAG_C)
224 #endif
225
226 #if defined(BN_MP_CNT_LSB_C)
227 #define BN_MP_ISZERO_C
228 #endif
229
230 #if defined(BN_MP_COPY_C)
231 #define BN_MP_GROW_C
232 #endif
233
234 #if defined(BN_MP_COUNT_BITS_C)
235 #endif
236
237 #if defined(BN_MP_DIV_C)
238 #define BN_MP_ISZERO_C
239 #define BN_MP_CMP_MAG_C
240 #define BN_MP_COPY_C
241 #define BN_MP_ZERO_C
242 #define BN_MP_INIT_MULTI_C
243 #define BN_MP_SET_C
244 #define BN_MP_COUNT_BITS_C
245 #define BN_MP_MUL_2D_C
246 #define BN_MP_CMP_C
247 #define BN_MP_SUB_C
248 #define BN_MP_ADD_C
249 #define BN_MP_DIV_2D_C
250 #define BN_MP_EXCH_C
251 #define BN_MP_CLEAR_MULTI_C
252 #define BN_MP_INIT_SIZE_C
253 #define BN_MP_INIT_C
254 #define BN_MP_INIT_COPY_C
255 #define BN_MP_LSHD_C
256 #define BN_MP_RSHD_C
257 #define BN_MP_MUL_D_C
258 #define BN_MP_CLAMP_C
259 #define BN_MP_CLEAR_C
260 #endif
261
262 #if defined(BN_MP_DIV_2_C)
263 #define BN_MP_GROW_C
264 #define BN_MP_CLAMP_C
265 #endif
266
267 #if defined(BN_MP_DIV_2D_C)
268 #define BN_MP_COPY_C
269 #define BN_MP_ZERO_C
270 #define BN_MP_INIT_C
271 #define BN_MP_MOD_2D_C
272 #define BN_MP_CLEAR_C
273 #define BN_MP_RSHD_C
274 #define BN_MP_CLAMP_C
275 #define BN_MP_EXCH_C
276 #endif
277
278 #if defined(BN_MP_DIV_3_C)
279 #define BN_MP_INIT_SIZE_C
280 #define BN_MP_CLAMP_C
281 #define BN_MP_EXCH_C
282 #define BN_MP_CLEAR_C
283 #endif
284
285 #if defined(BN_MP_DIV_D_C)
286 #define BN_MP_ISZERO_C
287 #define BN_MP_COPY_C
288 #define BN_MP_DIV_2D_C
289 #define BN_MP_DIV_3_C
290 #define BN_MP_INIT_SIZE_C
291 #define BN_MP_CLAMP_C
292 #define BN_MP_EXCH_C
293 #define BN_MP_CLEAR_C
294 #endif
295
296 #if defined(BN_MP_DR_IS_MODULUS_C)
297 #endif
298
299 #if defined(BN_MP_DR_REDUCE_C)
300 #define BN_MP_GROW_C
301 #define BN_MP_CLAMP_C
302 #define BN_MP_CMP_MAG_C
303 #define BN_S_MP_SUB_C
304 #endif
305
306 #if defined(BN_MP_DR_SETUP_C)
307 #endif
308
309 #if defined(BN_MP_EXCH_C)
310 #endif
311
312 #if defined(BN_MP_EXPT_D_C)
313 #define BN_MP_INIT_COPY_C
314 #define BN_MP_SET_C
315 #define BN_MP_SQR_C
316 #define BN_MP_CLEAR_C
317 #define BN_MP_MUL_C
318 #endif
319
320 #if defined(BN_MP_EXPTMOD_C)
321 #define BN_MP_INIT_C
322 #define BN_MP_INVMOD_C
323 #define BN_MP_CLEAR_C
324 #define BN_MP_ABS_C
325 #define BN_MP_CLEAR_MULTI_C
326 #define BN_MP_DR_IS_MODULUS_C
327 #define BN_MP_REDUCE_IS_2K_C
328 #define BN_MP_ISODD_C
329 #define BN_MP_EXPTMOD_FAST_C
330 #define BN_S_MP_EXPTMOD_C
331 #endif
332
333 #if defined(BN_MP_EXPTMOD_FAST_C)
334 #define BN_MP_COUNT_BITS_C
335 #define BN_MP_INIT_C
336 #define BN_MP_CLEAR_C
337 #define BN_MP_MONTGOMERY_SETUP_C
338 #define BN_FAST_MP_MONTGOMERY_REDUCE_C
339 #define BN_MP_MONTGOMERY_REDUCE_C
340 #define BN_MP_DR_SETUP_C
341 #define BN_MP_DR_REDUCE_C
342 #define BN_MP_REDUCE_2K_SETUP_C
343 #define BN_MP_REDUCE_2K_C
344 #define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
345 #define BN_MP_MULMOD_C
346 #define BN_MP_SET_C
347 #define BN_MP_MOD_C
348 #define BN_MP_COPY_C
349 #define BN_MP_SQR_C
350 #define BN_MP_MUL_C
351 #define BN_MP_EXCH_C
352 #endif
353
354 #if defined(BN_MP_EXTEUCLID_C)
355 #define BN_MP_INIT_MULTI_C
356 #define BN_MP_SET_C
357 #define BN_MP_COPY_C
358 #define BN_MP_ISZERO_C
359 #define BN_MP_DIV_C
360 #define BN_MP_MUL_C
361 #define BN_MP_SUB_C
362 #define BN_MP_EXCH_C
363 #define BN_MP_CLEAR_MULTI_C
364 #endif
365
366 #if defined(BN_MP_FREAD_C)
367 #define BN_MP_ZERO_C
368 #define BN_MP_S_RMAP_C
369 #define BN_MP_MUL_D_C
370 #define BN_MP_ADD_D_C
371 #define BN_MP_CMP_D_C
372 #endif
373
374 #if defined(BN_MP_FWRITE_C)
375 #define BN_MP_RADIX_SIZE_C
376 #define BN_MP_TORADIX_C
377 #endif
378
379 #if defined(BN_MP_GCD_C)
380 #define BN_MP_ISZERO_C
381 #define BN_MP_ABS_C
382 #define BN_MP_ZERO_C
383 #define BN_MP_INIT_COPY_C
384 #define BN_MP_CNT_LSB_C
385 #define BN_MP_DIV_2D_C
386 #define BN_MP_CMP_MAG_C
387 #define BN_MP_EXCH_C
388 #define BN_S_MP_SUB_C
389 #define BN_MP_MUL_2D_C
390 #define BN_MP_CLEAR_C
391 #endif
392
393 #if defined(BN_MP_GET_INT_C)
394 #endif
395
396 #if defined(BN_MP_GROW_C)
397 #endif
398
399 #if defined(BN_MP_INIT_C)
400 #endif
401
402 #if defined(BN_MP_INIT_COPY_C)
403 #define BN_MP_COPY_C
404 #endif
405
406 #if defined(BN_MP_INIT_MULTI_C)
407 #define BN_MP_ERR_C
408 #define BN_MP_INIT_C
409 #define BN_MP_CLEAR_C
410 #endif
411
412 #if defined(BN_MP_INIT_SET_C)
413 #define BN_MP_INIT_C
414 #define BN_MP_SET_C
415 #endif
416
417 #if defined(BN_MP_INIT_SET_INT_C)
418 #define BN_MP_INIT_C
419 #define BN_MP_SET_INT_C
420 #endif
421
422 #if defined(BN_MP_INIT_SIZE_C)
423 #define BN_MP_INIT_C
424 #endif
425
426 #if defined(BN_MP_INVMOD_C)
427 #define BN_MP_ISZERO_C
428 #define BN_MP_ISODD_C
429 #define BN_FAST_MP_INVMOD_C
430 #define BN_MP_INVMOD_SLOW_C
431 #endif
432
433 #if defined(BN_MP_INVMOD_SLOW_C)
434 #define BN_MP_ISZERO_C
435 #define BN_MP_INIT_MULTI_C
436 #define BN_MP_COPY_C
437 #define BN_MP_ISEVEN_C
438 #define BN_MP_SET_C
439 #define BN_MP_DIV_2_C
440 #define BN_MP_ISODD_C
441 #define BN_MP_ADD_C
442 #define BN_MP_SUB_C
443 #define BN_MP_CMP_C
444 #define BN_MP_CMP_D_C
445 #define BN_MP_CMP_MAG_C
446 #define BN_MP_EXCH_C
447 #define BN_MP_CLEAR_MULTI_C
448 #endif
449
450 #if defined(BN_MP_IS_SQUARE_C)
451 #define BN_MP_MOD_D_C
452 #define BN_MP_INIT_SET_INT_C
453 #define BN_MP_MOD_C
454 #define BN_MP_GET_INT_C
455 #define BN_MP_SQRT_C
456 #define BN_MP_SQR_C
457 #define BN_MP_CMP_MAG_C
458 #define BN_MP_CLEAR_C
459 #endif
460
461 #if defined(BN_MP_JACOBI_C)
462 #define BN_MP_CMP_D_C
463 #define BN_MP_ISZERO_C
464 #define BN_MP_INIT_COPY_C
465 #define BN_MP_CNT_LSB_C
466 #define BN_MP_DIV_2D_C
467 #define BN_MP_MOD_C
468 #define BN_MP_CLEAR_C
469 #endif
470
471 #if defined(BN_MP_KARATSUBA_MUL_C)
472 #define BN_MP_MUL_C
473 #define BN_MP_INIT_SIZE_C
474 #define BN_MP_CLAMP_C
475 #define BN_MP_SUB_C
476 #define BN_MP_ADD_C
477 #define BN_MP_LSHD_C
478 #define BN_MP_CLEAR_C
479 #endif
480
481 #if defined(BN_MP_KARATSUBA_SQR_C)
482 #define BN_MP_INIT_SIZE_C
483 #define BN_MP_CLAMP_C
484 #define BN_MP_SQR_C
485 #define BN_MP_SUB_C
486 #define BN_S_MP_ADD_C
487 #define BN_MP_LSHD_C
488 #define BN_MP_ADD_C
489 #define BN_MP_CLEAR_C
490 #endif
491
492 #if defined(BN_MP_LCM_C)
493 #define BN_MP_INIT_MULTI_C
494 #define BN_MP_GCD_C
495 #define BN_MP_CMP_MAG_C
496 #define BN_MP_DIV_C
497 #define BN_MP_MUL_C
498 #define BN_MP_CLEAR_MULTI_C
499 #endif
500
501 #if defined(BN_MP_LSHD_C)
502 #define BN_MP_GROW_C
503 #define BN_MP_RSHD_C
504 #endif
505
506 #if defined(BN_MP_MOD_C)
507 #define BN_MP_INIT_C
508 #define BN_MP_DIV_C
509 #define BN_MP_CLEAR_C
510 #define BN_MP_ADD_C
511 #define BN_MP_EXCH_C
512 #endif
513
514 #if defined(BN_MP_MOD_2D_C)
515 #define BN_MP_ZERO_C
516 #define BN_MP_COPY_C
517 #define BN_MP_CLAMP_C
518 #endif
519
520 #if defined(BN_MP_MOD_D_C)
521 #define BN_MP_DIV_D_C
522 #endif
523
524 #if defined(BN_MP_MONTGOMERY_CALC_NORMALIZATION_C)
525 #define BN_MP_COUNT_BITS_C
526 #define BN_MP_2EXPT_C
527 #define BN_MP_SET_C
528 #define BN_MP_MUL_2_C
529 #define BN_MP_CMP_MAG_C
530 #define BN_S_MP_SUB_C
531 #endif
532
533 #if defined(BN_MP_MONTGOMERY_REDUCE_C)
534 #define BN_FAST_MP_MONTGOMERY_REDUCE_C
535 #define BN_MP_GROW_C
536 #define BN_MP_CLAMP_C
537 #define BN_MP_RSHD_C
538 #define BN_MP_CMP_MAG_C
539 #define BN_S_MP_SUB_C
540 #endif
541
542 #if defined(BN_MP_MONTGOMERY_SETUP_C)
543 #endif
544
545 #if defined(BN_MP_MUL_C)
546 #define BN_MP_TOOM_MUL_C
547 #define BN_MP_KARATSUBA_MUL_C
548 #define BN_FAST_S_MP_MUL_DIGS_C
549 #define BN_S_MP_MUL_C
550 #define BN_S_MP_MUL_DIGS_C
551 #endif
552
553 #if defined(BN_MP_MUL_2_C)
554 #define BN_MP_GROW_C
555 #endif
556
557 #if defined(BN_MP_MUL_2D_C)
558 #define BN_MP_COPY_C
559 #define BN_MP_GROW_C
560 #define BN_MP_LSHD_C
561 #define BN_MP_CLAMP_C
562 #endif
563
564 #if defined(BN_MP_MUL_D_C)
565 #define BN_MP_GROW_C
566 #define BN_MP_CLAMP_C
567 #endif
568
569 #if defined(BN_MP_MULMOD_C)
570 #define BN_MP_INIT_C
571 #define BN_MP_MUL_C
572 #define BN_MP_CLEAR_C
573 #define BN_MP_MOD_C
574 #endif
575
576 #if defined(BN_MP_N_ROOT_C)
577 #define BN_MP_INIT_C
578 #define BN_MP_SET_C
579 #define BN_MP_COPY_C
580 #define BN_MP_EXPT_D_C
581 #define BN_MP_MUL_C
582 #define BN_MP_SUB_C
583 #define BN_MP_MUL_D_C
584 #define BN_MP_DIV_C
585 #define BN_MP_CMP_C
586 #define BN_MP_SUB_D_C
587 #define BN_MP_EXCH_C
588 #define BN_MP_CLEAR_C
589 #endif
590
591 #if defined(BN_MP_NEG_C)
592 #define BN_MP_COPY_C
593 #define BN_MP_ISZERO_C
594 #endif
595
596 #if defined(BN_MP_OR_C)
597 #define BN_MP_INIT_COPY_C
598 #define BN_MP_CLAMP_C
599 #define BN_MP_EXCH_C
600 #define BN_MP_CLEAR_C
601 #endif
602
603 #if defined(BN_MP_PRIME_FERMAT_C)
604 #define BN_MP_CMP_D_C
605 #define BN_MP_INIT_C
606 #define BN_MP_EXPTMOD_C
607 #define BN_MP_CMP_C
608 #define BN_MP_CLEAR_C
609 #endif
610
611 #if defined(BN_MP_PRIME_IS_DIVISIBLE_C)
612 #define BN_MP_MOD_D_C
613 #endif
614
615 #if defined(BN_MP_PRIME_IS_PRIME_C)
616 #define BN_MP_CMP_D_C
617 #define BN_MP_PRIME_IS_DIVISIBLE_C
618 #define BN_MP_INIT_C
619 #define BN_MP_SET_C
620 #define BN_MP_PRIME_MILLER_RABIN_C
621 #define BN_MP_CLEAR_C
622 #endif
623
624 #if defined(BN_MP_PRIME_MILLER_RABIN_C)
625 #define BN_MP_CMP_D_C
626 #define BN_MP_INIT_COPY_C
627 #define BN_MP_SUB_D_C
628 #define BN_MP_CNT_LSB_C
629 #define BN_MP_DIV_2D_C
630 #define BN_MP_EXPTMOD_C
631 #define BN_MP_CMP_C
632 #define BN_MP_SQRMOD_C
633 #define BN_MP_CLEAR_C
634 #endif
635
636 #if defined(BN_MP_PRIME_NEXT_PRIME_C)
637 #define BN_MP_CMP_D_C
638 #define BN_MP_SET_C
639 #define BN_MP_SUB_D_C
640 #define BN_MP_ISEVEN_C
641 #define BN_MP_MOD_D_C
642 #define BN_MP_INIT_C
643 #define BN_MP_ADD_D_C
644 #define BN_MP_PRIME_MILLER_RABIN_C
645 #define BN_MP_CLEAR_C
646 #endif
647
648 #if defined(BN_MP_PRIME_RABIN_MILLER_TRIALS_C)
649 #endif
650
651 #if defined(BN_MP_PRIME_RANDOM_EX_C)
652 #define BN_MP_READ_UNSIGNED_BIN_C
653 #define BN_MP_PRIME_IS_PRIME_C
654 #define BN_MP_SUB_D_C
655 #define BN_MP_DIV_2_C
656 #define BN_MP_MUL_2_C
657 #define BN_MP_ADD_D_C
658 #endif
659
660 #if defined(BN_MP_RADIX_SIZE_C)
661 #define BN_MP_COUNT_BITS_C
662 #define BN_MP_INIT_COPY_C
663 #define BN_MP_ISZERO_C
664 #define BN_MP_DIV_D_C
665 #define BN_MP_CLEAR_C
666 #endif
667
668 #if defined(BN_MP_RADIX_SMAP_C)
669 #define BN_MP_S_RMAP_C
670 #endif
671
672 #if defined(BN_MP_RAND_C)
673 #define BN_MP_ZERO_C
674 #define BN_MP_ADD_D_C
675 #define BN_MP_LSHD_C
676 #endif
677
678 #if defined(BN_MP_READ_RADIX_C)
679 #define BN_MP_ZERO_C
680 #define BN_MP_S_RMAP_C
681 #define BN_MP_MUL_D_C
682 #define BN_MP_ADD_D_C
683 #define BN_MP_ISZERO_C
684 #endif
685
686 #if defined(BN_MP_READ_SIGNED_BIN_C)
687 #define BN_MP_READ_UNSIGNED_BIN_C
688 #endif
689
690 #if defined(BN_MP_READ_UNSIGNED_BIN_C)
691 #define BN_MP_GROW_C
692 #define BN_MP_ZERO_C
693 #define BN_MP_MUL_2D_C
694 #define BN_MP_CLAMP_C
695 #endif
696
697 #if defined(BN_MP_REDUCE_C)
698 #define BN_MP_REDUCE_SETUP_C
699 #define BN_MP_INIT_COPY_C
700 #define BN_MP_RSHD_C
701 #define BN_MP_MUL_C
702 #define BN_S_MP_MUL_HIGH_DIGS_C
703 #define BN_FAST_S_MP_MUL_HIGH_DIGS_C
704 #define BN_MP_MOD_2D_C
705 #define BN_S_MP_MUL_DIGS_C
706 #define BN_MP_SUB_C
707 #define BN_MP_CMP_D_C
708 #define BN_MP_SET_C
709 #define BN_MP_LSHD_C
710 #define BN_MP_ADD_C
711 #define BN_MP_CMP_C
712 #define BN_S_MP_SUB_C
713 #define BN_MP_CLEAR_C
714 #endif
715
716 #if defined(BN_MP_REDUCE_2K_C)
717 #define BN_MP_INIT_C
718 #define BN_MP_COUNT_BITS_C
719 #define BN_MP_DIV_2D_C
720 #define BN_MP_MUL_D_C
721 #define BN_S_MP_ADD_C
722 #define BN_MP_CMP_MAG_C
723 #define BN_S_MP_SUB_C
724 #define BN_MP_CLEAR_C
725 #endif
726
727 #if defined(BN_MP_REDUCE_2K_SETUP_C)
728 #define BN_MP_INIT_C
729 #define BN_MP_COUNT_BITS_C
730 #define BN_MP_2EXPT_C
731 #define BN_MP_CLEAR_C
732 #define BN_S_MP_SUB_C
733 #endif
734
735 #if defined(BN_MP_REDUCE_IS_2K_C)
736 #define BN_MP_REDUCE_2K_C
737 #define BN_MP_COUNT_BITS_C
738 #endif
739
740 #if defined(BN_MP_REDUCE_SETUP_C)
741 #define BN_MP_2EXPT_C
742 #define BN_MP_DIV_C
743 #endif
744
745 #if defined(BN_MP_RSHD_C)
746 #define BN_MP_ZERO_C
747 #endif
748
749 #if defined(BN_MP_SET_C)
750 #define BN_MP_ZERO_C
751 #endif
752
753 #if defined(BN_MP_SET_INT_C)
754 #define BN_MP_ZERO_C
755 #define BN_MP_MUL_2D_C
756 #define BN_MP_CLAMP_C
757 #endif
758
759 #if defined(BN_MP_SHRINK_C)
760 #endif
761
762 #if defined(BN_MP_SIGNED_BIN_SIZE_C)
763 #define BN_MP_UNSIGNED_BIN_SIZE_C
764 #endif
765
766 #if defined(BN_MP_SQR_C)
767 #define BN_MP_TOOM_SQR_C
768 #define BN_MP_KARATSUBA_SQR_C
769 #define BN_FAST_S_MP_SQR_C
770 #define BN_S_MP_SQR_C
771 #endif
772
773 #if defined(BN_MP_SQRMOD_C)
774 #define BN_MP_INIT_C
775 #define BN_MP_SQR_C
776 #define BN_MP_CLEAR_C
777 #define BN_MP_MOD_C
778 #endif
779
780 #if defined(BN_MP_SQRT_C)
781 #define BN_MP_N_ROOT_C
782 #define BN_MP_ISZERO_C
783 #define BN_MP_ZERO_C
784 #define BN_MP_INIT_COPY_C
785 #define BN_MP_RSHD_C
786 #define BN_MP_DIV_C
787 #define BN_MP_ADD_C
788 #define BN_MP_DIV_2_C
789 #define BN_MP_CMP_MAG_C
790 #define BN_MP_EXCH_C
791 #define BN_MP_CLEAR_C
792 #endif
793
794 #if defined(BN_MP_SUB_C)
795 #define BN_S_MP_ADD_C
796 #define BN_MP_CMP_MAG_C
797 #define BN_S_MP_SUB_C
798 #endif
799
800 #if defined(BN_MP_SUB_D_C)
801 #define BN_MP_GROW_C
802 #define BN_MP_ADD_D_C
803 #define BN_MP_CLAMP_C
804 #endif
805
806 #if defined(BN_MP_SUBMOD_C)
807 #define BN_MP_INIT_C
808 #define BN_MP_SUB_C
809 #define BN_MP_CLEAR_C
810 #define BN_MP_MOD_C
811 #endif
812
813 #if defined(BN_MP_TO_SIGNED_BIN_C)
814 #define BN_MP_TO_UNSIGNED_BIN_C
815 #endif
816
817 #if defined(BN_MP_TO_UNSIGNED_BIN_C)
818 #define BN_MP_INIT_COPY_C
819 #define BN_MP_ISZERO_C
820 #define BN_MP_DIV_2D_C
821 #define BN_MP_CLEAR_C
822 #endif
823
824 #if defined(BN_MP_TOOM_MUL_C)
825 #define BN_MP_INIT_MULTI_C
826 #define BN_MP_MOD_2D_C
827 #define BN_MP_COPY_C
828 #define BN_MP_RSHD_C
829 #define BN_MP_MUL_C
830 #define BN_MP_MUL_2_C
831 #define BN_MP_ADD_C
832 #define BN_MP_SUB_C
833 #define BN_MP_DIV_2_C
834 #define BN_MP_MUL_2D_C
835 #define BN_MP_MUL_D_C
836 #define BN_MP_DIV_3_C
837 #define BN_MP_LSHD_C
838 #define BN_MP_CLEAR_MULTI_C
839 #endif
840
841 #if defined(BN_MP_TOOM_SQR_C)
842 #define BN_MP_INIT_MULTI_C
843 #define BN_MP_MOD_2D_C
844 #define BN_MP_COPY_C
845 #define BN_MP_RSHD_C
846 #define BN_MP_SQR_C
847 #define BN_MP_MUL_2_C
848 #define BN_MP_ADD_C
849 #define BN_MP_SUB_C
850 #define BN_MP_DIV_2_C
851 #define BN_MP_MUL_2D_C
852 #define BN_MP_MUL_D_C
853 #define BN_MP_DIV_3_C
854 #define BN_MP_LSHD_C
855 #define BN_MP_CLEAR_MULTI_C
856 #endif
857
858 #if defined(BN_MP_TORADIX_C)
859 #define BN_MP_ISZERO_C
860 #define BN_MP_INIT_COPY_C
861 #define BN_MP_DIV_D_C
862 #define BN_MP_CLEAR_C
863 #define BN_MP_S_RMAP_C
864 #endif
865
866 #if defined(BN_MP_TORADIX_N_C)
867 #define BN_MP_ISZERO_C
868 #define BN_MP_INIT_COPY_C
869 #define BN_MP_DIV_D_C
870 #define BN_MP_CLEAR_C
871 #define BN_MP_S_RMAP_C
872 #endif
873
874 #if defined(BN_MP_UNSIGNED_BIN_SIZE_C)
875 #define BN_MP_COUNT_BITS_C
876 #endif
877
878 #if defined(BN_MP_XOR_C)
879 #define BN_MP_INIT_COPY_C
880 #define BN_MP_CLAMP_C
881 #define BN_MP_EXCH_C
882 #define BN_MP_CLEAR_C
883 #endif
884
885 #if defined(BN_MP_ZERO_C)
886 #endif
887
888 #if defined(BN_PRIME_TAB_C)
889 #endif
890
891 #if defined(BN_REVERSE_C)
892 #endif
893
894 #if defined(BN_S_MP_ADD_C)
895 #define BN_MP_GROW_C
896 #define BN_MP_CLAMP_C
897 #endif
898
899 #if defined(BN_S_MP_EXPTMOD_C)
900 #define BN_MP_COUNT_BITS_C
901 #define BN_MP_INIT_C
902 #define BN_MP_CLEAR_C
903 #define BN_MP_REDUCE_SETUP_C
904 #define BN_MP_MOD_C
905 #define BN_MP_COPY_C
906 #define BN_MP_SQR_C
907 #define BN_MP_REDUCE_C
908 #define BN_MP_MUL_C
909 #define BN_MP_SET_C
910 #define BN_MP_EXCH_C
911 #endif
912
913 #if defined(BN_S_MP_MUL_DIGS_C)
914 #define BN_FAST_S_MP_MUL_DIGS_C
915 #define BN_MP_INIT_SIZE_C
916 #define BN_MP_CLAMP_C
917 #define BN_MP_EXCH_C
918 #define BN_MP_CLEAR_C
919 #endif
920
921 #if defined(BN_S_MP_MUL_HIGH_DIGS_C)
922 #define BN_FAST_S_MP_MUL_HIGH_DIGS_C
923 #define BN_MP_INIT_SIZE_C
924 #define BN_MP_CLAMP_C
925 #define BN_MP_EXCH_C
926 #define BN_MP_CLEAR_C
927 #endif
928
929 #if defined(BN_S_MP_SQR_C)
930 #define BN_MP_INIT_SIZE_C
931 #define BN_MP_CLAMP_C
932 #define BN_MP_EXCH_C
933 #define BN_MP_CLEAR_C
934 #endif
935
936 #if defined(BN_S_MP_SUB_C)
937 #define BN_MP_GROW_C
938 #define BN_MP_CLAMP_C
939 #endif
940
941 #if defined(BNCORE_C)
942 #endif
943
944 #ifdef LTM3
945 #define LTM_LAST
946 #endif
947 #include <tommath_superclass.h>
948 #include <tommath_class.h>
949 #else
950 #define LTM_LAST
951 #endif