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