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