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