comparison libtommath/tommath_class.h @ 1692:1051e4eea25a

Update LibTomMath to 1.2.0 (#84) * update C files * update other files * update headers * update makefiles * remove mp_set/get_double() * use ltm 1.2.0 API * update ltm_desc * use bundled tommath if system-tommath is too old * XMALLOC etc. were changed to MP_MALLOC etc.
author Steffen Jaeckel <s@jaeckel.eu>
date Tue, 26 May 2020 17:36:47 +0200
parents f52919ffd3b1
children 5386011b740d
comparison
equal deleted inserted replaced
1691:2d3745d58843 1692:1051e4eea25a
1 /* LibTomMath, multiple-precision integer library -- Tom St Denis 1 /* LibTomMath, multiple-precision integer library -- Tom St Denis */
2 * 2 /* SPDX-License-Identifier: Unlicense */
3 * LibTomMath is a library that provides multiple-precision
4 * integer arithmetic as well as number theoretic functionality.
5 *
6 * The library was designed directly after the MPI library by
7 * Michael Fromberger but has been written from scratch with
8 * additional optimizations in place.
9 *
10 * SPDX-License-Identifier: Unlicense
11 */
12 3
13 #if !(defined(LTM1) && defined(LTM2) && defined(LTM3)) 4 #if !(defined(LTM1) && defined(LTM2) && defined(LTM3))
5 #define LTM_INSIDE
14 #if defined(LTM2) 6 #if defined(LTM2)
15 # define LTM3 7 # define LTM3
16 #endif 8 #endif
17 #if defined(LTM1) 9 #if defined(LTM1)
18 # define LTM2 10 # define LTM2
19 #endif 11 #endif
20 #define LTM1 12 #define LTM1
21 #if defined(LTM_ALL) 13 #if defined(LTM_ALL)
22 # define BN_ERROR_C 14 # define BN_CUTOFFS_C
23 # define BN_FAST_MP_INVMOD_C 15 # define BN_DEPRECATED_C
24 # define BN_FAST_MP_MONTGOMERY_REDUCE_C
25 # define BN_FAST_S_MP_MUL_DIGS_C
26 # define BN_FAST_S_MP_MUL_HIGH_DIGS_C
27 # define BN_FAST_S_MP_SQR_C
28 # define BN_MP_2EXPT_C 16 # define BN_MP_2EXPT_C
29 # define BN_MP_ABS_C 17 # define BN_MP_ABS_C
30 # define BN_MP_ADD_C 18 # define BN_MP_ADD_C
31 # define BN_MP_ADD_D_C 19 # define BN_MP_ADD_D_C
32 # define BN_MP_ADDMOD_C 20 # define BN_MP_ADDMOD_C
39 # define BN_MP_CMP_MAG_C 27 # define BN_MP_CMP_MAG_C
40 # define BN_MP_CNT_LSB_C 28 # define BN_MP_CNT_LSB_C
41 # define BN_MP_COMPLEMENT_C 29 # define BN_MP_COMPLEMENT_C
42 # define BN_MP_COPY_C 30 # define BN_MP_COPY_C
43 # define BN_MP_COUNT_BITS_C 31 # define BN_MP_COUNT_BITS_C
32 # define BN_MP_DECR_C
44 # define BN_MP_DIV_C 33 # define BN_MP_DIV_C
45 # define BN_MP_DIV_2_C 34 # define BN_MP_DIV_2_C
46 # define BN_MP_DIV_2D_C 35 # define BN_MP_DIV_2D_C
47 # define BN_MP_DIV_3_C 36 # define BN_MP_DIV_3_C
48 # define BN_MP_DIV_D_C 37 # define BN_MP_DIV_D_C
49 # define BN_MP_DR_IS_MODULUS_C 38 # define BN_MP_DR_IS_MODULUS_C
50 # define BN_MP_DR_REDUCE_C 39 # define BN_MP_DR_REDUCE_C
51 # define BN_MP_DR_SETUP_C 40 # define BN_MP_DR_SETUP_C
52 # define BN_MP_EXCH_C 41 # define BN_MP_ERROR_TO_STRING_C
53 # define BN_MP_EXPORT_C 42 # define BN_MP_EXCH_C
54 # define BN_MP_EXPT_D_C 43 # define BN_MP_EXPT_U32_C
55 # define BN_MP_EXPT_D_EX_C
56 # define BN_MP_EXPTMOD_C 44 # define BN_MP_EXPTMOD_C
57 # define BN_MP_EXPTMOD_FAST_C
58 # define BN_MP_EXTEUCLID_C 45 # define BN_MP_EXTEUCLID_C
59 # define BN_MP_FREAD_C 46 # define BN_MP_FREAD_C
47 # define BN_MP_FROM_SBIN_C
48 # define BN_MP_FROM_UBIN_C
60 # define BN_MP_FWRITE_C 49 # define BN_MP_FWRITE_C
61 # define BN_MP_GCD_C 50 # define BN_MP_GCD_C
62 # define BN_MP_GET_BIT_C 51 # define BN_MP_GET_I32_C
63 # define BN_MP_GET_DOUBLE_C 52 # define BN_MP_GET_I64_C
64 # define BN_MP_GET_INT_C 53 # define BN_MP_GET_L_C
65 # define BN_MP_GET_LONG_C 54 # define BN_MP_GET_LL_C
66 # define BN_MP_GET_LONG_LONG_C 55 # define BN_MP_GET_MAG_U32_C
67 # define BN_MP_GROW_C 56 # define BN_MP_GET_MAG_U64_C
68 # define BN_MP_IMPORT_C 57 # define BN_MP_GET_MAG_UL_C
58 # define BN_MP_GET_MAG_ULL_C
59 # define BN_MP_GROW_C
60 # define BN_MP_INCR_C
69 # define BN_MP_INIT_C 61 # define BN_MP_INIT_C
70 # define BN_MP_INIT_COPY_C 62 # define BN_MP_INIT_COPY_C
63 # define BN_MP_INIT_I32_C
64 # define BN_MP_INIT_I64_C
65 # define BN_MP_INIT_L_C
66 # define BN_MP_INIT_LL_C
71 # define BN_MP_INIT_MULTI_C 67 # define BN_MP_INIT_MULTI_C
72 # define BN_MP_INIT_SET_C 68 # define BN_MP_INIT_SET_C
73 # define BN_MP_INIT_SET_INT_C 69 # define BN_MP_INIT_SIZE_C
74 # define BN_MP_INIT_SIZE_C 70 # define BN_MP_INIT_U32_C
71 # define BN_MP_INIT_U64_C
72 # define BN_MP_INIT_UL_C
73 # define BN_MP_INIT_ULL_C
75 # define BN_MP_INVMOD_C 74 # define BN_MP_INVMOD_C
76 # define BN_MP_INVMOD_SLOW_C
77 # define BN_MP_IS_SQUARE_C 75 # define BN_MP_IS_SQUARE_C
78 # define BN_MP_JACOBI_C 76 # define BN_MP_ISEVEN_C
79 # define BN_MP_KARATSUBA_MUL_C 77 # define BN_MP_ISODD_C
80 # define BN_MP_KARATSUBA_SQR_C
81 # define BN_MP_KRONECKER_C 78 # define BN_MP_KRONECKER_C
82 # define BN_MP_LCM_C 79 # define BN_MP_LCM_C
80 # define BN_MP_LOG_U32_C
83 # define BN_MP_LSHD_C 81 # define BN_MP_LSHD_C
84 # define BN_MP_MOD_C 82 # define BN_MP_MOD_C
85 # define BN_MP_MOD_2D_C 83 # define BN_MP_MOD_2D_C
86 # define BN_MP_MOD_D_C 84 # define BN_MP_MOD_D_C
87 # define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C 85 # define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
90 # define BN_MP_MUL_C 88 # define BN_MP_MUL_C
91 # define BN_MP_MUL_2_C 89 # define BN_MP_MUL_2_C
92 # define BN_MP_MUL_2D_C 90 # define BN_MP_MUL_2D_C
93 # define BN_MP_MUL_D_C 91 # define BN_MP_MUL_D_C
94 # define BN_MP_MULMOD_C 92 # define BN_MP_MULMOD_C
95 # define BN_MP_N_ROOT_C
96 # define BN_MP_N_ROOT_EX_C
97 # define BN_MP_NEG_C 93 # define BN_MP_NEG_C
98 # define BN_MP_OR_C 94 # define BN_MP_OR_C
95 # define BN_MP_PACK_C
96 # define BN_MP_PACK_COUNT_C
99 # define BN_MP_PRIME_FERMAT_C 97 # define BN_MP_PRIME_FERMAT_C
100 # define BN_MP_PRIME_FROBENIUS_UNDERWOOD_C 98 # define BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
101 # define BN_MP_PRIME_IS_DIVISIBLE_C
102 # define BN_MP_PRIME_IS_PRIME_C 99 # define BN_MP_PRIME_IS_PRIME_C
103 # define BN_MP_PRIME_MILLER_RABIN_C 100 # define BN_MP_PRIME_MILLER_RABIN_C
104 # define BN_MP_PRIME_NEXT_PRIME_C 101 # define BN_MP_PRIME_NEXT_PRIME_C
105 # define BN_MP_PRIME_RABIN_MILLER_TRIALS_C 102 # define BN_MP_PRIME_RABIN_MILLER_TRIALS_C
106 # define BN_MP_PRIME_RANDOM_EX_C 103 # define BN_MP_PRIME_RAND_C
107 # define BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C 104 # define BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
108 # define BN_MP_RADIX_SIZE_C 105 # define BN_MP_RADIX_SIZE_C
109 # define BN_MP_RADIX_SMAP_C 106 # define BN_MP_RADIX_SMAP_C
110 # define BN_MP_RAND_C 107 # define BN_MP_RAND_C
111 # define BN_MP_READ_RADIX_C 108 # define BN_MP_READ_RADIX_C
112 # define BN_MP_READ_SIGNED_BIN_C
113 # define BN_MP_READ_UNSIGNED_BIN_C
114 # define BN_MP_REDUCE_C 109 # define BN_MP_REDUCE_C
115 # define BN_MP_REDUCE_2K_C 110 # define BN_MP_REDUCE_2K_C
116 # define BN_MP_REDUCE_2K_L_C 111 # define BN_MP_REDUCE_2K_L_C
117 # define BN_MP_REDUCE_2K_SETUP_C 112 # define BN_MP_REDUCE_2K_SETUP_C
118 # define BN_MP_REDUCE_2K_SETUP_L_C 113 # define BN_MP_REDUCE_2K_SETUP_L_C
119 # define BN_MP_REDUCE_IS_2K_C 114 # define BN_MP_REDUCE_IS_2K_C
120 # define BN_MP_REDUCE_IS_2K_L_C 115 # define BN_MP_REDUCE_IS_2K_L_C
121 # define BN_MP_REDUCE_SETUP_C 116 # define BN_MP_REDUCE_SETUP_C
117 # define BN_MP_ROOT_U32_C
122 # define BN_MP_RSHD_C 118 # define BN_MP_RSHD_C
123 # define BN_MP_SET_C 119 # define BN_MP_SBIN_SIZE_C
124 # define BN_MP_SET_DOUBLE_C 120 # define BN_MP_SET_C
125 # define BN_MP_SET_INT_C 121 # define BN_MP_SET_I32_C
126 # define BN_MP_SET_LONG_C 122 # define BN_MP_SET_I64_C
127 # define BN_MP_SET_LONG_LONG_C 123 # define BN_MP_SET_L_C
124 # define BN_MP_SET_LL_C
125 # define BN_MP_SET_U32_C
126 # define BN_MP_SET_U64_C
127 # define BN_MP_SET_UL_C
128 # define BN_MP_SET_ULL_C
128 # define BN_MP_SHRINK_C 129 # define BN_MP_SHRINK_C
129 # define BN_MP_SIGNED_BIN_SIZE_C 130 # define BN_MP_SIGNED_RSH_C
130 # define BN_MP_SQR_C 131 # define BN_MP_SQR_C
131 # define BN_MP_SQRMOD_C 132 # define BN_MP_SQRMOD_C
132 # define BN_MP_SQRT_C 133 # define BN_MP_SQRT_C
133 # define BN_MP_SQRTMOD_PRIME_C 134 # define BN_MP_SQRTMOD_PRIME_C
134 # define BN_MP_SUB_C 135 # define BN_MP_SUB_C
135 # define BN_MP_SUB_D_C 136 # define BN_MP_SUB_D_C
136 # define BN_MP_SUBMOD_C 137 # define BN_MP_SUBMOD_C
138 # define BN_MP_TO_RADIX_C
139 # define BN_MP_TO_SBIN_C
140 # define BN_MP_TO_UBIN_C
141 # define BN_MP_UBIN_SIZE_C
142 # define BN_MP_UNPACK_C
143 # define BN_MP_XOR_C
144 # define BN_MP_ZERO_C
145 # define BN_PRIME_TAB_C
146 # define BN_S_MP_ADD_C
147 # define BN_S_MP_BALANCE_MUL_C
148 # define BN_S_MP_EXPTMOD_C
149 # define BN_S_MP_EXPTMOD_FAST_C
150 # define BN_S_MP_GET_BIT_C
151 # define BN_S_MP_INVMOD_FAST_C
152 # define BN_S_MP_INVMOD_SLOW_C
153 # define BN_S_MP_KARATSUBA_MUL_C
154 # define BN_S_MP_KARATSUBA_SQR_C
155 # define BN_S_MP_MONTGOMERY_REDUCE_FAST_C
156 # define BN_S_MP_MUL_DIGS_C
157 # define BN_S_MP_MUL_DIGS_FAST_C
158 # define BN_S_MP_MUL_HIGH_DIGS_C
159 # define BN_S_MP_MUL_HIGH_DIGS_FAST_C
160 # define BN_S_MP_PRIME_IS_DIVISIBLE_C
161 # define BN_S_MP_RAND_JENKINS_C
162 # define BN_S_MP_RAND_PLATFORM_C
163 # define BN_S_MP_REVERSE_C
164 # define BN_S_MP_SQR_C
165 # define BN_S_MP_SQR_FAST_C
166 # define BN_S_MP_SUB_C
167 # define BN_S_MP_TOOM_MUL_C
168 # define BN_S_MP_TOOM_SQR_C
169 #endif
170 #endif
171 #if defined(BN_CUTOFFS_C)
172 #endif
173
174 #if defined(BN_DEPRECATED_C)
175 # define BN_FAST_MP_INVMOD_C
176 # define BN_FAST_MP_MONTGOMERY_REDUCE_C
177 # define BN_FAST_S_MP_MUL_DIGS_C
178 # define BN_FAST_S_MP_MUL_HIGH_DIGS_C
179 # define BN_FAST_S_MP_SQR_C
180 # define BN_MP_AND_C
181 # define BN_MP_BALANCE_MUL_C
182 # define BN_MP_CMP_D_C
183 # define BN_MP_EXPORT_C
184 # define BN_MP_EXPTMOD_FAST_C
185 # define BN_MP_EXPT_D_C
186 # define BN_MP_EXPT_D_EX_C
187 # define BN_MP_EXPT_U32_C
188 # define BN_MP_FROM_SBIN_C
189 # define BN_MP_FROM_UBIN_C
190 # define BN_MP_GET_BIT_C
191 # define BN_MP_GET_INT_C
192 # define BN_MP_GET_LONG_C
193 # define BN_MP_GET_LONG_LONG_C
194 # define BN_MP_GET_MAG_U32_C
195 # define BN_MP_GET_MAG_ULL_C
196 # define BN_MP_GET_MAG_UL_C
197 # define BN_MP_IMPORT_C
198 # define BN_MP_INIT_SET_INT_C
199 # define BN_MP_INIT_U32_C
200 # define BN_MP_INVMOD_SLOW_C
201 # define BN_MP_JACOBI_C
202 # define BN_MP_KARATSUBA_MUL_C
203 # define BN_MP_KARATSUBA_SQR_C
204 # define BN_MP_KRONECKER_C
205 # define BN_MP_N_ROOT_C
206 # define BN_MP_N_ROOT_EX_C
207 # define BN_MP_OR_C
208 # define BN_MP_PACK_C
209 # define BN_MP_PRIME_IS_DIVISIBLE_C
210 # define BN_MP_PRIME_RANDOM_EX_C
211 # define BN_MP_RAND_DIGIT_C
212 # define BN_MP_READ_SIGNED_BIN_C
213 # define BN_MP_READ_UNSIGNED_BIN_C
214 # define BN_MP_ROOT_U32_C
215 # define BN_MP_SBIN_SIZE_C
216 # define BN_MP_SET_INT_C
217 # define BN_MP_SET_LONG_C
218 # define BN_MP_SET_LONG_LONG_C
219 # define BN_MP_SET_U32_C
220 # define BN_MP_SET_U64_C
221 # define BN_MP_SIGNED_BIN_SIZE_C
222 # define BN_MP_SIGNED_RSH_C
137 # define BN_MP_TC_AND_C 223 # define BN_MP_TC_AND_C
138 # define BN_MP_TC_DIV_2D_C 224 # define BN_MP_TC_DIV_2D_C
139 # define BN_MP_TC_OR_C 225 # define BN_MP_TC_OR_C
140 # define BN_MP_TC_XOR_C 226 # define BN_MP_TC_XOR_C
141 # define BN_MP_TO_SIGNED_BIN_C
142 # define BN_MP_TO_SIGNED_BIN_N_C
143 # define BN_MP_TO_UNSIGNED_BIN_C
144 # define BN_MP_TO_UNSIGNED_BIN_N_C
145 # define BN_MP_TOOM_MUL_C 227 # define BN_MP_TOOM_MUL_C
146 # define BN_MP_TOOM_SQR_C 228 # define BN_MP_TOOM_SQR_C
147 # define BN_MP_TORADIX_C 229 # define BN_MP_TORADIX_C
148 # define BN_MP_TORADIX_N_C 230 # define BN_MP_TORADIX_N_C
231 # define BN_MP_TO_RADIX_C
232 # define BN_MP_TO_SBIN_C
233 # define BN_MP_TO_SIGNED_BIN_C
234 # define BN_MP_TO_SIGNED_BIN_N_C
235 # define BN_MP_TO_UBIN_C
236 # define BN_MP_TO_UNSIGNED_BIN_C
237 # define BN_MP_TO_UNSIGNED_BIN_N_C
238 # define BN_MP_UBIN_SIZE_C
239 # define BN_MP_UNPACK_C
149 # define BN_MP_UNSIGNED_BIN_SIZE_C 240 # define BN_MP_UNSIGNED_BIN_SIZE_C
150 # define BN_MP_XOR_C 241 # define BN_MP_XOR_C
242 # define BN_S_MP_BALANCE_MUL_C
243 # define BN_S_MP_EXPTMOD_FAST_C
244 # define BN_S_MP_GET_BIT_C
245 # define BN_S_MP_INVMOD_FAST_C
246 # define BN_S_MP_INVMOD_SLOW_C
247 # define BN_S_MP_KARATSUBA_MUL_C
248 # define BN_S_MP_KARATSUBA_SQR_C
249 # define BN_S_MP_MONTGOMERY_REDUCE_FAST_C
250 # define BN_S_MP_MUL_DIGS_FAST_C
251 # define BN_S_MP_MUL_HIGH_DIGS_FAST_C
252 # define BN_S_MP_PRIME_IS_DIVISIBLE_C
253 # define BN_S_MP_PRIME_RANDOM_EX_C
254 # define BN_S_MP_RAND_SOURCE_C
255 # define BN_S_MP_REVERSE_C
256 # define BN_S_MP_SQR_FAST_C
257 # define BN_S_MP_TOOM_MUL_C
258 # define BN_S_MP_TOOM_SQR_C
259 #endif
260
261 #if defined(BN_MP_2EXPT_C)
262 # define BN_MP_GROW_C
151 # define BN_MP_ZERO_C 263 # define BN_MP_ZERO_C
152 # define BN_PRIME_TAB_C 264 #endif
153 # define BN_REVERSE_C 265
266 #if defined(BN_MP_ABS_C)
267 # define BN_MP_COPY_C
268 #endif
269
270 #if defined(BN_MP_ADD_C)
271 # define BN_MP_CMP_MAG_C
154 # define BN_S_MP_ADD_C 272 # define BN_S_MP_ADD_C
155 # define BN_S_MP_EXPTMOD_C 273 # define BN_S_MP_SUB_C
156 # define BN_S_MP_MUL_DIGS_C 274 #endif
157 # define BN_S_MP_MUL_HIGH_DIGS_C 275
158 # define BN_S_MP_SQR_C 276 #if defined(BN_MP_ADD_D_C)
159 # define BN_S_MP_SUB_C 277 # define BN_MP_CLAMP_C
160 # define BNCORE_C 278 # define BN_MP_GROW_C
161 #endif 279 # define BN_MP_SUB_D_C
162 #if defined(BN_ERROR_C) 280 #endif
163 # define BN_MP_ERROR_TO_STRING_C 281
164 #endif 282 #if defined(BN_MP_ADDMOD_C)
165 283 # define BN_MP_ADD_C
166 #if defined(BN_FAST_MP_INVMOD_C) 284 # define BN_MP_CLEAR_C
167 # define BN_MP_ISEVEN_C 285 # define BN_MP_INIT_C
168 # define BN_MP_INIT_MULTI_C
169 # define BN_MP_COPY_C
170 # define BN_MP_MOD_C 286 # define BN_MP_MOD_C
171 # define BN_MP_ISZERO_C
172 # define BN_MP_SET_C
173 # define BN_MP_DIV_2_C
174 # define BN_MP_ISODD_C
175 # define BN_MP_SUB_C
176 # define BN_MP_CMP_C
177 # define BN_MP_CMP_D_C
178 # define BN_MP_ADD_C
179 # define BN_MP_CMP_MAG_C
180 # define BN_MP_EXCH_C
181 # define BN_MP_CLEAR_MULTI_C
182 #endif
183
184 #if defined(BN_FAST_MP_MONTGOMERY_REDUCE_C)
185 # define BN_MP_GROW_C
186 # define BN_MP_RSHD_C
187 # define BN_MP_CLAMP_C
188 # define BN_MP_CMP_MAG_C
189 # define BN_S_MP_SUB_C
190 #endif
191
192 #if defined(BN_FAST_S_MP_MUL_DIGS_C)
193 # define BN_MP_GROW_C
194 # define BN_MP_CLAMP_C
195 #endif
196
197 #if defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C)
198 # define BN_MP_GROW_C
199 # define BN_MP_CLAMP_C
200 #endif
201
202 #if defined(BN_FAST_S_MP_SQR_C)
203 # define BN_MP_GROW_C
204 # define BN_MP_CLAMP_C
205 #endif
206
207 #if defined(BN_MP_2EXPT_C)
208 # define BN_MP_ZERO_C
209 # define BN_MP_GROW_C
210 #endif
211
212 #if defined(BN_MP_ABS_C)
213 # define BN_MP_COPY_C
214 #endif
215
216 #if defined(BN_MP_ADD_C)
217 # define BN_S_MP_ADD_C
218 # define BN_MP_CMP_MAG_C
219 # define BN_S_MP_SUB_C
220 #endif
221
222 #if defined(BN_MP_ADD_D_C)
223 # define BN_MP_GROW_C
224 # define BN_MP_SUB_D_C
225 # define BN_MP_CLAMP_C
226 #endif
227
228 #if defined(BN_MP_ADDMOD_C)
229 # define BN_MP_INIT_C
230 # define BN_MP_ADD_C
231 # define BN_MP_CLEAR_C
232 # define BN_MP_MOD_C
233 #endif 287 #endif
234 288
235 #if defined(BN_MP_AND_C) 289 #if defined(BN_MP_AND_C)
236 # define BN_MP_INIT_COPY_C 290 # define BN_MP_CLAMP_C
237 # define BN_MP_CLAMP_C 291 # define BN_MP_GROW_C
238 # define BN_MP_EXCH_C
239 # define BN_MP_CLEAR_C
240 #endif 292 #endif
241 293
242 #if defined(BN_MP_CLAMP_C) 294 #if defined(BN_MP_CLAMP_C)
243 #endif 295 #endif
244 296
258 310
259 #if defined(BN_MP_CMP_MAG_C) 311 #if defined(BN_MP_CMP_MAG_C)
260 #endif 312 #endif
261 313
262 #if defined(BN_MP_CNT_LSB_C) 314 #if defined(BN_MP_CNT_LSB_C)
263 # define BN_MP_ISZERO_C
264 #endif 315 #endif
265 316
266 #if defined(BN_MP_COMPLEMENT_C) 317 #if defined(BN_MP_COMPLEMENT_C)
267 # define BN_MP_NEG_C 318 # define BN_MP_NEG_C
268 # define BN_MP_SUB_D_C 319 # define BN_MP_SUB_D_C
273 #endif 324 #endif
274 325
275 #if defined(BN_MP_COUNT_BITS_C) 326 #if defined(BN_MP_COUNT_BITS_C)
276 #endif 327 #endif
277 328
329 #if defined(BN_MP_DECR_C)
330 # define BN_MP_INCR_C
331 # define BN_MP_SET_C
332 # define BN_MP_SUB_D_C
333 # define BN_MP_ZERO_C
334 #endif
335
278 #if defined(BN_MP_DIV_C) 336 #if defined(BN_MP_DIV_C)
279 # define BN_MP_ISZERO_C 337 # define BN_MP_ADD_C
280 # define BN_MP_CMP_MAG_C 338 # define BN_MP_CLAMP_C
281 # define BN_MP_COPY_C 339 # define BN_MP_CLEAR_C
340 # define BN_MP_CMP_C
341 # define BN_MP_CMP_MAG_C
342 # define BN_MP_COPY_C
343 # define BN_MP_COUNT_BITS_C
344 # define BN_MP_DIV_2D_C
345 # define BN_MP_EXCH_C
346 # define BN_MP_INIT_C
347 # define BN_MP_INIT_COPY_C
348 # define BN_MP_INIT_SIZE_C
349 # define BN_MP_LSHD_C
350 # define BN_MP_MUL_2D_C
351 # define BN_MP_MUL_D_C
352 # define BN_MP_RSHD_C
353 # define BN_MP_SUB_C
282 # define BN_MP_ZERO_C 354 # define BN_MP_ZERO_C
283 # define BN_MP_INIT_MULTI_C
284 # define BN_MP_SET_C
285 # define BN_MP_COUNT_BITS_C
286 # define BN_MP_ABS_C
287 # define BN_MP_MUL_2D_C
288 # define BN_MP_CMP_C
289 # define BN_MP_SUB_C
290 # define BN_MP_ADD_C
291 # define BN_MP_DIV_2D_C
292 # define BN_MP_EXCH_C
293 # define BN_MP_CLEAR_MULTI_C
294 # define BN_MP_INIT_SIZE_C
295 # define BN_MP_INIT_C
296 # define BN_MP_INIT_COPY_C
297 # define BN_MP_LSHD_C
298 # define BN_MP_RSHD_C
299 # define BN_MP_MUL_D_C
300 # define BN_MP_CLAMP_C
301 # define BN_MP_CLEAR_C
302 #endif 355 #endif
303 356
304 #if defined(BN_MP_DIV_2_C) 357 #if defined(BN_MP_DIV_2_C)
305 # define BN_MP_GROW_C 358 # define BN_MP_CLAMP_C
306 # define BN_MP_CLAMP_C 359 # define BN_MP_GROW_C
307 #endif 360 #endif
308 361
309 #if defined(BN_MP_DIV_2D_C) 362 #if defined(BN_MP_DIV_2D_C)
310 # define BN_MP_COPY_C 363 # define BN_MP_CLAMP_C
311 # define BN_MP_ZERO_C 364 # define BN_MP_COPY_C
312 # define BN_MP_MOD_2D_C 365 # define BN_MP_MOD_2D_C
313 # define BN_MP_RSHD_C 366 # define BN_MP_RSHD_C
314 # define BN_MP_CLAMP_C 367 # define BN_MP_ZERO_C
315 #endif 368 #endif
316 369
317 #if defined(BN_MP_DIV_3_C) 370 #if defined(BN_MP_DIV_3_C)
318 # define BN_MP_INIT_SIZE_C 371 # define BN_MP_CLAMP_C
319 # define BN_MP_CLAMP_C 372 # define BN_MP_CLEAR_C
320 # define BN_MP_EXCH_C 373 # define BN_MP_EXCH_C
321 # define BN_MP_CLEAR_C 374 # define BN_MP_INIT_SIZE_C
322 #endif 375 #endif
323 376
324 #if defined(BN_MP_DIV_D_C) 377 #if defined(BN_MP_DIV_D_C)
325 # define BN_MP_ISZERO_C 378 # define BN_MP_CLAMP_C
379 # define BN_MP_CLEAR_C
326 # define BN_MP_COPY_C 380 # define BN_MP_COPY_C
327 # define BN_MP_DIV_2D_C 381 # define BN_MP_DIV_2D_C
328 # define BN_MP_DIV_3_C 382 # define BN_MP_DIV_3_C
329 # define BN_MP_INIT_SIZE_C 383 # define BN_MP_EXCH_C
330 # define BN_MP_CLAMP_C 384 # define BN_MP_INIT_SIZE_C
331 # define BN_MP_EXCH_C
332 # define BN_MP_CLEAR_C
333 #endif 385 #endif
334 386
335 #if defined(BN_MP_DR_IS_MODULUS_C) 387 #if defined(BN_MP_DR_IS_MODULUS_C)
336 #endif 388 #endif
337 389
338 #if defined(BN_MP_DR_REDUCE_C) 390 #if defined(BN_MP_DR_REDUCE_C)
339 # define BN_MP_GROW_C 391 # define BN_MP_CLAMP_C
340 # define BN_MP_CLAMP_C 392 # define BN_MP_CMP_MAG_C
341 # define BN_MP_CMP_MAG_C 393 # define BN_MP_GROW_C
342 # define BN_S_MP_SUB_C 394 # define BN_S_MP_SUB_C
343 #endif 395 #endif
344 396
345 #if defined(BN_MP_DR_SETUP_C) 397 #if defined(BN_MP_DR_SETUP_C)
346 #endif 398 #endif
347 399
400 #if defined(BN_MP_ERROR_TO_STRING_C)
401 #endif
402
348 #if defined(BN_MP_EXCH_C) 403 #if defined(BN_MP_EXCH_C)
349 #endif 404 #endif
350 405
351 #if defined(BN_MP_EXPORT_C) 406 #if defined(BN_MP_EXPT_U32_C)
407 # define BN_MP_CLEAR_C
352 # define BN_MP_INIT_COPY_C 408 # define BN_MP_INIT_COPY_C
353 # define BN_MP_COUNT_BITS_C 409 # define BN_MP_MUL_C
354 # define BN_MP_DIV_2D_C 410 # define BN_MP_SET_C
355 # define BN_MP_CLEAR_C
356 #endif
357
358 #if defined(BN_MP_EXPT_D_C)
359 # define BN_MP_EXPT_D_EX_C
360 #endif
361
362 #if defined(BN_MP_EXPT_D_EX_C)
363 # define BN_MP_INIT_COPY_C
364 # define BN_MP_SET_C
365 # define BN_MP_MUL_C
366 # define BN_MP_CLEAR_C
367 # define BN_MP_SQR_C 411 # define BN_MP_SQR_C
368 #endif 412 #endif
369 413
370 #if defined(BN_MP_EXPTMOD_C) 414 #if defined(BN_MP_EXPTMOD_C)
371 # define BN_MP_INIT_C
372 # define BN_MP_INVMOD_C
373 # define BN_MP_CLEAR_C
374 # define BN_MP_ABS_C 415 # define BN_MP_ABS_C
375 # define BN_MP_CLEAR_MULTI_C 416 # define BN_MP_CLEAR_MULTI_C
417 # define BN_MP_DR_IS_MODULUS_C
418 # define BN_MP_INIT_MULTI_C
419 # define BN_MP_INVMOD_C
420 # define BN_MP_REDUCE_IS_2K_C
376 # define BN_MP_REDUCE_IS_2K_L_C 421 # define BN_MP_REDUCE_IS_2K_L_C
377 # define BN_S_MP_EXPTMOD_C 422 # define BN_S_MP_EXPTMOD_C
378 # define BN_MP_DR_IS_MODULUS_C 423 # define BN_S_MP_EXPTMOD_FAST_C
379 # define BN_MP_REDUCE_IS_2K_C
380 # define BN_MP_ISODD_C
381 # define BN_MP_EXPTMOD_FAST_C
382 #endif
383
384 #if defined(BN_MP_EXPTMOD_FAST_C)
385 # define BN_MP_COUNT_BITS_C
386 # define BN_MP_INIT_SIZE_C
387 # define BN_MP_CLEAR_C
388 # define BN_MP_MONTGOMERY_SETUP_C
389 # define BN_FAST_MP_MONTGOMERY_REDUCE_C
390 # define BN_MP_MONTGOMERY_REDUCE_C
391 # define BN_MP_DR_SETUP_C
392 # define BN_MP_DR_REDUCE_C
393 # define BN_MP_REDUCE_2K_SETUP_C
394 # define BN_MP_REDUCE_2K_C
395 # define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
396 # define BN_MP_MULMOD_C
397 # define BN_MP_SET_C
398 # define BN_MP_MOD_C
399 # define BN_MP_COPY_C
400 # define BN_MP_SQR_C
401 # define BN_MP_MUL_C
402 # define BN_MP_EXCH_C
403 #endif 424 #endif
404 425
405 #if defined(BN_MP_EXTEUCLID_C) 426 #if defined(BN_MP_EXTEUCLID_C)
427 # define BN_MP_CLEAR_MULTI_C
428 # define BN_MP_COPY_C
429 # define BN_MP_DIV_C
430 # define BN_MP_EXCH_C
406 # define BN_MP_INIT_MULTI_C 431 # define BN_MP_INIT_MULTI_C
407 # define BN_MP_SET_C 432 # define BN_MP_MUL_C
408 # define BN_MP_COPY_C 433 # define BN_MP_NEG_C
409 # define BN_MP_ISZERO_C 434 # define BN_MP_SET_C
410 # define BN_MP_DIV_C
411 # define BN_MP_MUL_C
412 # define BN_MP_SUB_C 435 # define BN_MP_SUB_C
413 # define BN_MP_NEG_C
414 # define BN_MP_EXCH_C
415 # define BN_MP_CLEAR_MULTI_C
416 #endif 436 #endif
417 437
418 #if defined(BN_MP_FREAD_C) 438 #if defined(BN_MP_FREAD_C)
439 # define BN_MP_ADD_D_C
440 # define BN_MP_MUL_D_C
419 # define BN_MP_ZERO_C 441 # define BN_MP_ZERO_C
420 # define BN_MP_S_RMAP_REVERSE_SZ_C 442 #endif
421 # define BN_MP_S_RMAP_REVERSE_C 443
422 # define BN_MP_MUL_D_C 444 #if defined(BN_MP_FROM_SBIN_C)
423 # define BN_MP_ADD_D_C 445 # define BN_MP_FROM_UBIN_C
424 # define BN_MP_CMP_D_C 446 #endif
447
448 #if defined(BN_MP_FROM_UBIN_C)
449 # define BN_MP_CLAMP_C
450 # define BN_MP_GROW_C
451 # define BN_MP_MUL_2D_C
452 # define BN_MP_ZERO_C
425 #endif 453 #endif
426 454
427 #if defined(BN_MP_FWRITE_C) 455 #if defined(BN_MP_FWRITE_C)
428 # define BN_MP_RADIX_SIZE_C 456 # define BN_MP_RADIX_SIZE_C
429 # define BN_MP_TORADIX_C 457 # define BN_MP_TO_RADIX_C
430 #endif 458 #endif
431 459
432 #if defined(BN_MP_GCD_C) 460 #if defined(BN_MP_GCD_C)
433 # define BN_MP_ISZERO_C
434 # define BN_MP_ABS_C 461 # define BN_MP_ABS_C
435 # define BN_MP_INIT_COPY_C 462 # define BN_MP_CLEAR_C
463 # define BN_MP_CMP_MAG_C
436 # define BN_MP_CNT_LSB_C 464 # define BN_MP_CNT_LSB_C
437 # define BN_MP_DIV_2D_C 465 # define BN_MP_DIV_2D_C
438 # define BN_MP_CMP_MAG_C 466 # define BN_MP_EXCH_C
439 # define BN_MP_EXCH_C 467 # define BN_MP_INIT_COPY_C
440 # define BN_S_MP_SUB_C
441 # define BN_MP_MUL_2D_C 468 # define BN_MP_MUL_2D_C
442 # define BN_MP_CLEAR_C 469 # define BN_S_MP_SUB_C
443 #endif 470 #endif
444 471
445 #if defined(BN_MP_GET_BIT_C) 472 #if defined(BN_MP_GET_I32_C)
446 # define BN_MP_ISZERO_C 473 # define BN_MP_GET_MAG_U32_C
447 #endif 474 #endif
448 475
449 #if defined(BN_MP_GET_DOUBLE_C) 476 #if defined(BN_MP_GET_I64_C)
450 # define BN_MP_ISNEG_C 477 # define BN_MP_GET_MAG_U64_C
451 #endif 478 #endif
452 479
453 #if defined(BN_MP_GET_INT_C) 480 #if defined(BN_MP_GET_L_C)
454 #endif 481 # define BN_MP_GET_MAG_UL_C
455 482 #endif
456 #if defined(BN_MP_GET_LONG_C) 483
457 #endif 484 #if defined(BN_MP_GET_LL_C)
458 485 # define BN_MP_GET_MAG_ULL_C
459 #if defined(BN_MP_GET_LONG_LONG_C) 486 #endif
487
488 #if defined(BN_MP_GET_MAG_U32_C)
489 #endif
490
491 #if defined(BN_MP_GET_MAG_U64_C)
492 #endif
493
494 #if defined(BN_MP_GET_MAG_UL_C)
495 #endif
496
497 #if defined(BN_MP_GET_MAG_ULL_C)
460 #endif 498 #endif
461 499
462 #if defined(BN_MP_GROW_C) 500 #if defined(BN_MP_GROW_C)
463 #endif 501 #endif
464 502
465 #if defined(BN_MP_IMPORT_C) 503 #if defined(BN_MP_INCR_C)
466 # define BN_MP_ZERO_C 504 # define BN_MP_ADD_D_C
467 # define BN_MP_MUL_2D_C 505 # define BN_MP_DECR_C
468 # define BN_MP_CLAMP_C 506 # define BN_MP_SET_C
469 #endif 507 #endif
470 508
471 #if defined(BN_MP_INIT_C) 509 #if defined(BN_MP_INIT_C)
472 #endif 510 #endif
473 511
474 #if defined(BN_MP_INIT_COPY_C) 512 #if defined(BN_MP_INIT_COPY_C)
475 # define BN_MP_INIT_SIZE_C 513 # define BN_MP_CLEAR_C
476 # define BN_MP_COPY_C 514 # define BN_MP_COPY_C
477 # define BN_MP_CLEAR_C 515 # define BN_MP_INIT_SIZE_C
516 #endif
517
518 #if defined(BN_MP_INIT_I32_C)
519 # define BN_MP_INIT_C
520 # define BN_MP_SET_I32_C
521 #endif
522
523 #if defined(BN_MP_INIT_I64_C)
524 # define BN_MP_INIT_C
525 # define BN_MP_SET_I64_C
526 #endif
527
528 #if defined(BN_MP_INIT_L_C)
529 # define BN_MP_INIT_C
530 # define BN_MP_SET_L_C
531 #endif
532
533 #if defined(BN_MP_INIT_LL_C)
534 # define BN_MP_INIT_C
535 # define BN_MP_SET_LL_C
478 #endif 536 #endif
479 537
480 #if defined(BN_MP_INIT_MULTI_C) 538 #if defined(BN_MP_INIT_MULTI_C)
481 # define BN_MP_ERR_C 539 # define BN_MP_CLEAR_C
482 # define BN_MP_INIT_C 540 # define BN_MP_INIT_C
483 # define BN_MP_CLEAR_C
484 #endif 541 #endif
485 542
486 #if defined(BN_MP_INIT_SET_C) 543 #if defined(BN_MP_INIT_SET_C)
487 # define BN_MP_INIT_C 544 # define BN_MP_INIT_C
488 # define BN_MP_SET_C 545 # define BN_MP_SET_C
489 #endif 546 #endif
490 547
491 #if defined(BN_MP_INIT_SET_INT_C)
492 # define BN_MP_INIT_C
493 # define BN_MP_SET_INT_C
494 #endif
495
496 #if defined(BN_MP_INIT_SIZE_C) 548 #if defined(BN_MP_INIT_SIZE_C)
497 # define BN_MP_INIT_C 549 #endif
550
551 #if defined(BN_MP_INIT_U32_C)
552 # define BN_MP_INIT_C
553 # define BN_MP_SET_U32_C
554 #endif
555
556 #if defined(BN_MP_INIT_U64_C)
557 # define BN_MP_INIT_C
558 # define BN_MP_SET_U64_C
559 #endif
560
561 #if defined(BN_MP_INIT_UL_C)
562 # define BN_MP_INIT_C
563 # define BN_MP_SET_UL_C
564 #endif
565
566 #if defined(BN_MP_INIT_ULL_C)
567 # define BN_MP_INIT_C
568 # define BN_MP_SET_ULL_C
498 #endif 569 #endif
499 570
500 #if defined(BN_MP_INVMOD_C) 571 #if defined(BN_MP_INVMOD_C)
501 # define BN_MP_CMP_D_C 572 # define BN_MP_CMP_D_C
502 # define BN_MP_ISODD_C 573 # define BN_S_MP_INVMOD_FAST_C
503 # define BN_FAST_MP_INVMOD_C 574 # define BN_S_MP_INVMOD_SLOW_C
504 # define BN_MP_INVMOD_SLOW_C 575 #endif
505 #endif 576
506 577 #if defined(BN_MP_IS_SQUARE_C)
507 #if defined(BN_MP_INVMOD_SLOW_C) 578 # define BN_MP_CLEAR_C
508 # define BN_MP_ISZERO_C 579 # define BN_MP_CMP_MAG_C
580 # define BN_MP_GET_I32_C
581 # define BN_MP_INIT_U32_C
582 # define BN_MP_MOD_C
583 # define BN_MP_MOD_D_C
584 # define BN_MP_SQRT_C
585 # define BN_MP_SQR_C
586 #endif
587
588 #if defined(BN_MP_ISEVEN_C)
589 #endif
590
591 #if defined(BN_MP_ISODD_C)
592 #endif
593
594 #if defined(BN_MP_KRONECKER_C)
595 # define BN_MP_CLEAR_C
596 # define BN_MP_CMP_D_C
597 # define BN_MP_CNT_LSB_C
598 # define BN_MP_COPY_C
599 # define BN_MP_DIV_2D_C
600 # define BN_MP_INIT_C
601 # define BN_MP_INIT_COPY_C
602 # define BN_MP_MOD_C
603 #endif
604
605 #if defined(BN_MP_LCM_C)
606 # define BN_MP_CLEAR_MULTI_C
607 # define BN_MP_CMP_MAG_C
608 # define BN_MP_DIV_C
609 # define BN_MP_GCD_C
509 # define BN_MP_INIT_MULTI_C 610 # define BN_MP_INIT_MULTI_C
510 # define BN_MP_MOD_C 611 # define BN_MP_MUL_C
511 # define BN_MP_COPY_C 612 #endif
512 # define BN_MP_ISEVEN_C 613
513 # define BN_MP_SET_C 614 #if defined(BN_MP_LOG_U32_C)
514 # define BN_MP_DIV_2_C 615 # define BN_MP_CLEAR_MULTI_C
515 # define BN_MP_ISODD_C
516 # define BN_MP_ADD_C
517 # define BN_MP_SUB_C
518 # define BN_MP_CMP_C 616 # define BN_MP_CMP_C
519 # define BN_MP_CMP_D_C 617 # define BN_MP_CMP_D_C
520 # define BN_MP_CMP_MAG_C 618 # define BN_MP_COPY_C
521 # define BN_MP_EXCH_C 619 # define BN_MP_COUNT_BITS_C
522 # define BN_MP_CLEAR_MULTI_C 620 # define BN_MP_EXCH_C
523 #endif 621 # define BN_MP_EXPT_U32_C
524 622 # define BN_MP_INIT_MULTI_C
525 #if defined(BN_MP_IS_SQUARE_C) 623 # define BN_MP_MUL_C
526 # define BN_MP_MOD_D_C 624 # define BN_MP_SET_C
527 # define BN_MP_INIT_SET_INT_C
528 # define BN_MP_MOD_C
529 # define BN_MP_GET_INT_C
530 # define BN_MP_SQRT_C
531 # define BN_MP_SQR_C 625 # define BN_MP_SQR_C
532 # define BN_MP_CMP_MAG_C 626 #endif
533 # define BN_MP_CLEAR_C 627
534 #endif 628 #if defined(BN_MP_LSHD_C)
535 629 # define BN_MP_GROW_C
536 #if defined(BN_MP_JACOBI_C) 630 #endif
537 # define BN_MP_KRONECKER_C 631
538 # define BN_MP_ISNEG_C 632 #if defined(BN_MP_MOD_C)
539 # define BN_MP_CMP_D_C 633 # define BN_MP_ADD_C
540 #endif 634 # define BN_MP_CLEAR_C
541
542 #if defined(BN_MP_KARATSUBA_MUL_C)
543 # define BN_MP_MUL_C
544 # define BN_MP_INIT_SIZE_C
545 # define BN_MP_CLAMP_C
546 # define BN_S_MP_ADD_C
547 # define BN_MP_ADD_C
548 # define BN_S_MP_SUB_C
549 # define BN_MP_LSHD_C
550 # define BN_MP_CLEAR_C
551 #endif
552
553 #if defined(BN_MP_KARATSUBA_SQR_C)
554 # define BN_MP_INIT_SIZE_C
555 # define BN_MP_CLAMP_C
556 # define BN_MP_SQR_C
557 # define BN_S_MP_ADD_C
558 # define BN_S_MP_SUB_C
559 # define BN_MP_LSHD_C
560 # define BN_MP_ADD_C
561 # define BN_MP_CLEAR_C
562 #endif
563
564 #if defined(BN_MP_KRONECKER_C)
565 # define BN_MP_ISZERO_C
566 # define BN_MP_ISEVEN_C
567 # define BN_MP_INIT_COPY_C
568 # define BN_MP_CNT_LSB_C
569 # define BN_MP_DIV_2D_C
570 # define BN_MP_CMP_D_C
571 # define BN_MP_COPY_C
572 # define BN_MP_MOD_C
573 # define BN_MP_CLEAR_C
574 #endif
575
576 #if defined(BN_MP_LCM_C)
577 # define BN_MP_INIT_MULTI_C
578 # define BN_MP_GCD_C
579 # define BN_MP_CMP_MAG_C
580 # define BN_MP_DIV_C 635 # define BN_MP_DIV_C
581 # define BN_MP_MUL_C 636 # define BN_MP_EXCH_C
582 # define BN_MP_CLEAR_MULTI_C 637 # define BN_MP_INIT_SIZE_C
583 #endif
584
585 #if defined(BN_MP_LSHD_C)
586 # define BN_MP_ISZERO_C
587 # define BN_MP_GROW_C
588 # define BN_MP_RSHD_C
589 #endif
590
591 #if defined(BN_MP_MOD_C)
592 # define BN_MP_INIT_SIZE_C
593 # define BN_MP_DIV_C
594 # define BN_MP_CLEAR_C
595 # define BN_MP_ISZERO_C
596 # define BN_MP_EXCH_C
597 # define BN_MP_ADD_C
598 #endif 638 #endif
599 639
600 #if defined(BN_MP_MOD_2D_C) 640 #if defined(BN_MP_MOD_2D_C)
641 # define BN_MP_CLAMP_C
642 # define BN_MP_COPY_C
601 # define BN_MP_ZERO_C 643 # define BN_MP_ZERO_C
602 # define BN_MP_COPY_C
603 # define BN_MP_CLAMP_C
604 #endif 644 #endif
605 645
606 #if defined(BN_MP_MOD_D_C) 646 #if defined(BN_MP_MOD_D_C)
607 # define BN_MP_DIV_D_C 647 # define BN_MP_DIV_D_C
608 #endif 648 #endif
609 649
610 #if defined(BN_MP_MONTGOMERY_CALC_NORMALIZATION_C) 650 #if defined(BN_MP_MONTGOMERY_CALC_NORMALIZATION_C)
611 # define BN_MP_COUNT_BITS_C
612 # define BN_MP_2EXPT_C 651 # define BN_MP_2EXPT_C
613 # define BN_MP_SET_C 652 # define BN_MP_CMP_MAG_C
653 # define BN_MP_COUNT_BITS_C
614 # define BN_MP_MUL_2_C 654 # define BN_MP_MUL_2_C
615 # define BN_MP_CMP_MAG_C 655 # define BN_MP_SET_C
616 # define BN_S_MP_SUB_C 656 # define BN_S_MP_SUB_C
617 #endif 657 #endif
618 658
619 #if defined(BN_MP_MONTGOMERY_REDUCE_C) 659 #if defined(BN_MP_MONTGOMERY_REDUCE_C)
620 # define BN_FAST_MP_MONTGOMERY_REDUCE_C 660 # define BN_MP_CLAMP_C
621 # define BN_MP_GROW_C 661 # define BN_MP_CMP_MAG_C
622 # define BN_MP_CLAMP_C 662 # define BN_MP_GROW_C
623 # define BN_MP_RSHD_C 663 # define BN_MP_RSHD_C
624 # define BN_MP_CMP_MAG_C 664 # define BN_S_MP_MONTGOMERY_REDUCE_FAST_C
625 # define BN_S_MP_SUB_C 665 # define BN_S_MP_SUB_C
626 #endif 666 #endif
627 667
628 #if defined(BN_MP_MONTGOMERY_SETUP_C) 668 #if defined(BN_MP_MONTGOMERY_SETUP_C)
629 #endif 669 #endif
630 670
631 #if defined(BN_MP_MUL_C) 671 #if defined(BN_MP_MUL_C)
632 # define BN_MP_TOOM_MUL_C 672 # define BN_S_MP_BALANCE_MUL_C
633 # define BN_MP_KARATSUBA_MUL_C 673 # define BN_S_MP_KARATSUBA_MUL_C
634 # define BN_FAST_S_MP_MUL_DIGS_C
635 # define BN_S_MP_MUL_C
636 # define BN_S_MP_MUL_DIGS_C 674 # define BN_S_MP_MUL_DIGS_C
675 # define BN_S_MP_MUL_DIGS_FAST_C
676 # define BN_S_MP_TOOM_MUL_C
637 #endif 677 #endif
638 678
639 #if defined(BN_MP_MUL_2_C) 679 #if defined(BN_MP_MUL_2_C)
640 # define BN_MP_GROW_C 680 # define BN_MP_GROW_C
641 #endif 681 #endif
642 682
643 #if defined(BN_MP_MUL_2D_C) 683 #if defined(BN_MP_MUL_2D_C)
684 # define BN_MP_CLAMP_C
644 # define BN_MP_COPY_C 685 # define BN_MP_COPY_C
645 # define BN_MP_GROW_C 686 # define BN_MP_GROW_C
646 # define BN_MP_LSHD_C 687 # define BN_MP_LSHD_C
647 # define BN_MP_CLAMP_C
648 #endif 688 #endif
649 689
650 #if defined(BN_MP_MUL_D_C) 690 #if defined(BN_MP_MUL_D_C)
651 # define BN_MP_GROW_C 691 # define BN_MP_CLAMP_C
652 # define BN_MP_CLAMP_C 692 # define BN_MP_GROW_C
653 #endif 693 #endif
654 694
655 #if defined(BN_MP_MULMOD_C) 695 #if defined(BN_MP_MULMOD_C)
656 # define BN_MP_INIT_SIZE_C 696 # define BN_MP_CLEAR_C
657 # define BN_MP_MUL_C 697 # define BN_MP_INIT_SIZE_C
658 # define BN_MP_CLEAR_C
659 # define BN_MP_MOD_C 698 # define BN_MP_MOD_C
660 #endif 699 # define BN_MP_MUL_C
661 700 #endif
662 #if defined(BN_MP_N_ROOT_C) 701
663 # define BN_MP_N_ROOT_EX_C 702 #if defined(BN_MP_NEG_C)
664 #endif 703 # define BN_MP_COPY_C
665 704 #endif
666 #if defined(BN_MP_N_ROOT_EX_C) 705
667 # define BN_MP_INIT_C 706 #if defined(BN_MP_OR_C)
668 # define BN_MP_SET_C 707 # define BN_MP_CLAMP_C
669 # define BN_MP_COPY_C 708 # define BN_MP_GROW_C
670 # define BN_MP_EXPT_D_EX_C 709 #endif
671 # define BN_MP_MUL_C 710
711 #if defined(BN_MP_PACK_C)
712 # define BN_MP_CLEAR_C
713 # define BN_MP_DIV_2D_C
714 # define BN_MP_INIT_COPY_C
715 # define BN_MP_PACK_COUNT_C
716 #endif
717
718 #if defined(BN_MP_PACK_COUNT_C)
719 # define BN_MP_COUNT_BITS_C
720 #endif
721
722 #if defined(BN_MP_PRIME_FERMAT_C)
723 # define BN_MP_CLEAR_C
724 # define BN_MP_CMP_C
725 # define BN_MP_CMP_D_C
726 # define BN_MP_EXPTMOD_C
727 # define BN_MP_INIT_C
728 #endif
729
730 #if defined(BN_MP_PRIME_FROBENIUS_UNDERWOOD_C)
731 # define BN_MP_ADD_C
732 # define BN_MP_ADD_D_C
733 # define BN_MP_CLEAR_MULTI_C
734 # define BN_MP_CMP_C
735 # define BN_MP_COUNT_BITS_C
736 # define BN_MP_EXCH_C
737 # define BN_MP_GCD_C
738 # define BN_MP_INIT_MULTI_C
739 # define BN_MP_KRONECKER_C
740 # define BN_MP_MOD_C
741 # define BN_MP_MUL_2_C
742 # define BN_MP_MUL_C
743 # define BN_MP_MUL_D_C
744 # define BN_MP_SET_C
745 # define BN_MP_SET_U32_C
746 # define BN_MP_SQR_C
672 # define BN_MP_SUB_C 747 # define BN_MP_SUB_C
673 # define BN_MP_MUL_D_C 748 # define BN_MP_SUB_D_C
674 # define BN_MP_DIV_C 749 # define BN_S_MP_GET_BIT_C
750 #endif
751
752 #if defined(BN_MP_PRIME_IS_PRIME_C)
753 # define BN_MP_CLEAR_C
675 # define BN_MP_CMP_C 754 # define BN_MP_CMP_C
676 # define BN_MP_SUB_D_C
677 # define BN_MP_EXCH_C
678 # define BN_MP_CLEAR_C
679 #endif
680
681 #if defined(BN_MP_NEG_C)
682 # define BN_MP_COPY_C
683 # define BN_MP_ISZERO_C
684 #endif
685
686 #if defined(BN_MP_OR_C)
687 # define BN_MP_INIT_COPY_C
688 # define BN_MP_CLAMP_C
689 # define BN_MP_EXCH_C
690 # define BN_MP_CLEAR_C
691 #endif
692
693 #if defined(BN_MP_PRIME_FERMAT_C)
694 # define BN_MP_CMP_D_C 755 # define BN_MP_CMP_D_C
695 # define BN_MP_INIT_C 756 # define BN_MP_COUNT_BITS_C
696 # define BN_MP_EXPTMOD_C 757 # define BN_MP_DIV_2D_C
758 # define BN_MP_INIT_SET_C
759 # define BN_MP_IS_SQUARE_C
760 # define BN_MP_PRIME_MILLER_RABIN_C
761 # define BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
762 # define BN_MP_RAND_C
763 # define BN_MP_READ_RADIX_C
764 # define BN_MP_SET_C
765 # define BN_S_MP_PRIME_IS_DIVISIBLE_C
766 #endif
767
768 #if defined(BN_MP_PRIME_MILLER_RABIN_C)
769 # define BN_MP_CLEAR_C
697 # define BN_MP_CMP_C 770 # define BN_MP_CMP_C
698 # define BN_MP_CLEAR_C
699 #endif
700
701 #if defined(BN_MP_PRIME_FROBENIUS_UNDERWOOD_C)
702 # define BN_MP_PRIME_IS_PRIME_C
703 # define BN_MP_INIT_MULTI_C
704 # define BN_MP_SET_LONG_C
705 # define BN_MP_SQR_C
706 # define BN_MP_SUB_D_C
707 # define BN_MP_KRONECKER_C
708 # define BN_MP_GCD_C
709 # define BN_MP_ADD_D_C
710 # define BN_MP_SET_C
711 # define BN_MP_COUNT_BITS_C
712 # define BN_MP_MUL_2_C
713 # define BN_MP_MUL_D_C
714 # define BN_MP_ADD_C
715 # define BN_MP_MUL_C
716 # define BN_MP_SUB_C
717 # define BN_MP_MOD_C
718 # define BN_MP_GET_BIT_C
719 # define BN_MP_EXCH_C
720 # define BN_MP_ISZERO_C
721 # define BN_MP_CMP_C
722 # define BN_MP_CLEAR_MULTI_C
723 #endif
724
725 #if defined(BN_MP_PRIME_IS_DIVISIBLE_C)
726 # define BN_MP_MOD_D_C
727 #endif
728
729 #if defined(BN_MP_PRIME_IS_PRIME_C)
730 # define BN_MP_ISEVEN_C
731 # define BN_MP_IS_SQUARE_C
732 # define BN_MP_CMP_D_C 771 # define BN_MP_CMP_D_C
733 # define BN_MP_PRIME_IS_DIVISIBLE_C
734 # define BN_MP_INIT_SET_C
735 # define BN_MP_PRIME_MILLER_RABIN_C
736 # define BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
737 # define BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
738 # define BN_MP_READ_RADIX_C
739 # define BN_MP_CMP_C
740 # define BN_MP_SET_C
741 # define BN_MP_COUNT_BITS_C
742 # define BN_MP_RAND_C
743 # define BN_MP_DIV_2D_C
744 # define BN_MP_CLEAR_C
745 #endif
746
747 #if defined(BN_MP_PRIME_MILLER_RABIN_C)
748 # define BN_MP_CMP_D_C
749 # define BN_MP_INIT_COPY_C
750 # define BN_MP_SUB_D_C
751 # define BN_MP_CNT_LSB_C 772 # define BN_MP_CNT_LSB_C
752 # define BN_MP_DIV_2D_C 773 # define BN_MP_DIV_2D_C
753 # define BN_MP_EXPTMOD_C 774 # define BN_MP_EXPTMOD_C
754 # define BN_MP_CMP_C 775 # define BN_MP_INIT_C
776 # define BN_MP_INIT_COPY_C
755 # define BN_MP_SQRMOD_C 777 # define BN_MP_SQRMOD_C
756 # define BN_MP_CLEAR_C 778 # define BN_MP_SUB_D_C
757 #endif 779 #endif
758 780
759 #if defined(BN_MP_PRIME_NEXT_PRIME_C) 781 #if defined(BN_MP_PRIME_NEXT_PRIME_C)
782 # define BN_MP_ADD_D_C
783 # define BN_MP_CLEAR_C
760 # define BN_MP_CMP_D_C 784 # define BN_MP_CMP_D_C
785 # define BN_MP_INIT_C
786 # define BN_MP_MOD_D_C
787 # define BN_MP_PRIME_IS_PRIME_C
761 # define BN_MP_SET_C 788 # define BN_MP_SET_C
762 # define BN_MP_SUB_D_C 789 # define BN_MP_SUB_D_C
763 # define BN_MP_ISEVEN_C 790 #endif
764 # define BN_MP_MOD_D_C 791
765 # define BN_MP_INIT_C 792 #if defined(BN_MP_PRIME_RABIN_MILLER_TRIALS_C)
793 #endif
794
795 #if defined(BN_MP_PRIME_RAND_C)
766 # define BN_MP_ADD_D_C 796 # define BN_MP_ADD_D_C
767 # define BN_MP_PRIME_IS_PRIME_C 797 # define BN_MP_DIV_2_C
768 # define BN_MP_CLEAR_C 798 # define BN_MP_FROM_UBIN_C
769 #endif 799 # define BN_MP_MUL_2_C
770
771 #if defined(BN_MP_PRIME_RABIN_MILLER_TRIALS_C)
772 #endif
773
774 #if defined(BN_MP_PRIME_RANDOM_EX_C)
775 # define BN_MP_READ_UNSIGNED_BIN_C
776 # define BN_MP_PRIME_IS_PRIME_C 800 # define BN_MP_PRIME_IS_PRIME_C
777 # define BN_MP_SUB_D_C 801 # define BN_MP_SUB_D_C
802 # define BN_S_MP_PRIME_RANDOM_EX_C
803 # define BN_S_MP_RAND_CB_C
804 # define BN_S_MP_RAND_SOURCE_C
805 #endif
806
807 #if defined(BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C)
808 # define BN_MP_ADD_C
809 # define BN_MP_ADD_D_C
810 # define BN_MP_CLEAR_C
811 # define BN_MP_CLEAR_MULTI_C
812 # define BN_MP_CMP_C
813 # define BN_MP_CMP_D_C
814 # define BN_MP_CNT_LSB_C
815 # define BN_MP_COUNT_BITS_C
816 # define BN_MP_DIV_2D_C
778 # define BN_MP_DIV_2_C 817 # define BN_MP_DIV_2_C
818 # define BN_MP_GCD_C
819 # define BN_MP_INIT_C
820 # define BN_MP_INIT_MULTI_C
821 # define BN_MP_KRONECKER_C
822 # define BN_MP_MOD_C
779 # define BN_MP_MUL_2_C 823 # define BN_MP_MUL_2_C
780 # define BN_MP_ADD_D_C 824 # define BN_MP_MUL_C
781 #endif 825 # define BN_MP_SET_C
782 826 # define BN_MP_SET_I32_C
783 #if defined(BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C) 827 # define BN_MP_SET_U32_C
784 # define BN_MP_PRIME_IS_PRIME_C
785 # define BN_MP_MUL_D_C
786 # define BN_S_MP_MUL_SI_C
787 # define BN_MP_INIT_C
788 # define BN_MP_SET_LONG_C
789 # define BN_MP_MUL_C
790 # define BN_MP_CLEAR_C
791 # define BN_MP_INIT_MULTI_C
792 # define BN_MP_GCD_C
793 # define BN_MP_CMP_D_C
794 # define BN_MP_CMP_C
795 # define BN_MP_KRONECKER_C
796 # define BN_MP_ADD_D_C
797 # define BN_MP_CNT_LSB_C
798 # define BN_MP_DIV_2D_C
799 # define BN_MP_SET_C
800 # define BN_MP_MUL_2_C
801 # define BN_MP_COUNT_BITS_C
802 # define BN_MP_MOD_C
803 # define BN_MP_SQR_C 828 # define BN_MP_SQR_C
804 # define BN_MP_SUB_C 829 # define BN_MP_SUB_C
805 # define BN_MP_GET_BIT_C
806 # define BN_MP_ADD_C
807 # define BN_MP_ISODD_C
808 # define BN_MP_DIV_2_C
809 # define BN_MP_SUB_D_C 830 # define BN_MP_SUB_D_C
810 # define BN_MP_ISZERO_C 831 # define BN_S_MP_GET_BIT_C
811 # define BN_MP_CLEAR_MULTI_C 832 # define BN_S_MP_MUL_SI_C
812 #endif 833 #endif
813 834
814 #if defined(BN_MP_RADIX_SIZE_C) 835 #if defined(BN_MP_RADIX_SIZE_C)
815 # define BN_MP_ISZERO_C 836 # define BN_MP_CLEAR_C
816 # define BN_MP_COUNT_BITS_C 837 # define BN_MP_COUNT_BITS_C
838 # define BN_MP_DIV_D_C
817 # define BN_MP_INIT_COPY_C 839 # define BN_MP_INIT_COPY_C
818 # define BN_MP_DIV_D_C
819 # define BN_MP_CLEAR_C
820 #endif 840 #endif
821 841
822 #if defined(BN_MP_RADIX_SMAP_C) 842 #if defined(BN_MP_RADIX_SMAP_C)
823 # define BN_MP_S_RMAP_C
824 # define BN_MP_S_RMAP_REVERSE_C
825 # define BN_MP_S_RMAP_REVERSE_SZ_C
826 #endif 843 #endif
827 844
828 #if defined(BN_MP_RAND_C) 845 #if defined(BN_MP_RAND_C)
829 # define BN_MP_RAND_DIGIT_C 846 # define BN_MP_GROW_C
847 # define BN_MP_RAND_SOURCE_C
830 # define BN_MP_ZERO_C 848 # define BN_MP_ZERO_C
849 # define BN_S_MP_RAND_PLATFORM_C
850 # define BN_S_MP_RAND_SOURCE_C
851 #endif
852
853 #if defined(BN_MP_READ_RADIX_C)
831 # define BN_MP_ADD_D_C 854 # define BN_MP_ADD_D_C
855 # define BN_MP_MUL_D_C
856 # define BN_MP_ZERO_C
857 #endif
858
859 #if defined(BN_MP_REDUCE_C)
860 # define BN_MP_ADD_C
861 # define BN_MP_CLEAR_C
862 # define BN_MP_CMP_C
863 # define BN_MP_CMP_D_C
864 # define BN_MP_INIT_COPY_C
832 # define BN_MP_LSHD_C 865 # define BN_MP_LSHD_C
833 #endif 866 # define BN_MP_MOD_2D_C
834 867 # define BN_MP_MUL_C
835 #if defined(BN_MP_READ_RADIX_C)
836 # define BN_MP_ZERO_C
837 # define BN_MP_S_RMAP_REVERSE_SZ_C
838 # define BN_MP_S_RMAP_REVERSE_C
839 # define BN_MP_MUL_D_C
840 # define BN_MP_ADD_D_C
841 # define BN_MP_ISZERO_C
842 #endif
843
844 #if defined(BN_MP_READ_SIGNED_BIN_C)
845 # define BN_MP_READ_UNSIGNED_BIN_C
846 #endif
847
848 #if defined(BN_MP_READ_UNSIGNED_BIN_C)
849 # define BN_MP_GROW_C
850 # define BN_MP_ZERO_C
851 # define BN_MP_MUL_2D_C
852 # define BN_MP_CLAMP_C
853 #endif
854
855 #if defined(BN_MP_REDUCE_C)
856 # define BN_MP_REDUCE_SETUP_C
857 # define BN_MP_INIT_COPY_C
858 # define BN_MP_RSHD_C 868 # define BN_MP_RSHD_C
859 # define BN_MP_MUL_C 869 # define BN_MP_SET_C
870 # define BN_MP_SUB_C
871 # define BN_S_MP_MUL_DIGS_C
860 # define BN_S_MP_MUL_HIGH_DIGS_C 872 # define BN_S_MP_MUL_HIGH_DIGS_C
861 # define BN_FAST_S_MP_MUL_HIGH_DIGS_C 873 # define BN_S_MP_MUL_HIGH_DIGS_FAST_C
862 # define BN_MP_MOD_2D_C 874 # define BN_S_MP_SUB_C
863 # define BN_S_MP_MUL_DIGS_C
864 # define BN_MP_SUB_C
865 # define BN_MP_CMP_D_C
866 # define BN_MP_SET_C
867 # define BN_MP_LSHD_C
868 # define BN_MP_ADD_C
869 # define BN_MP_CMP_C
870 # define BN_S_MP_SUB_C
871 # define BN_MP_CLEAR_C
872 #endif 875 #endif
873 876
874 #if defined(BN_MP_REDUCE_2K_C) 877 #if defined(BN_MP_REDUCE_2K_C)
875 # define BN_MP_INIT_C 878 # define BN_MP_CLEAR_C
879 # define BN_MP_CMP_MAG_C
876 # define BN_MP_COUNT_BITS_C 880 # define BN_MP_COUNT_BITS_C
877 # define BN_MP_DIV_2D_C 881 # define BN_MP_DIV_2D_C
882 # define BN_MP_INIT_C
878 # define BN_MP_MUL_D_C 883 # define BN_MP_MUL_D_C
879 # define BN_S_MP_ADD_C 884 # define BN_S_MP_ADD_C
880 # define BN_MP_CMP_MAG_C 885 # define BN_S_MP_SUB_C
881 # define BN_S_MP_SUB_C
882 # define BN_MP_CLEAR_C
883 #endif 886 #endif
884 887
885 #if defined(BN_MP_REDUCE_2K_L_C) 888 #if defined(BN_MP_REDUCE_2K_L_C)
886 # define BN_MP_INIT_C 889 # define BN_MP_CLEAR_C
890 # define BN_MP_CMP_MAG_C
887 # define BN_MP_COUNT_BITS_C 891 # define BN_MP_COUNT_BITS_C
888 # define BN_MP_DIV_2D_C 892 # define BN_MP_DIV_2D_C
893 # define BN_MP_INIT_C
889 # define BN_MP_MUL_C 894 # define BN_MP_MUL_C
890 # define BN_S_MP_ADD_C 895 # define BN_S_MP_ADD_C
891 # define BN_MP_CMP_MAG_C 896 # define BN_S_MP_SUB_C
892 # define BN_S_MP_SUB_C
893 # define BN_MP_CLEAR_C
894 #endif 897 #endif
895 898
896 #if defined(BN_MP_REDUCE_2K_SETUP_C) 899 #if defined(BN_MP_REDUCE_2K_SETUP_C)
897 # define BN_MP_INIT_C
898 # define BN_MP_COUNT_BITS_C
899 # define BN_MP_2EXPT_C 900 # define BN_MP_2EXPT_C
900 # define BN_MP_CLEAR_C 901 # define BN_MP_CLEAR_C
902 # define BN_MP_COUNT_BITS_C
903 # define BN_MP_INIT_C
901 # define BN_S_MP_SUB_C 904 # define BN_S_MP_SUB_C
902 #endif 905 #endif
903 906
904 #if defined(BN_MP_REDUCE_2K_SETUP_L_C) 907 #if defined(BN_MP_REDUCE_2K_SETUP_L_C)
905 # define BN_MP_INIT_C
906 # define BN_MP_2EXPT_C 908 # define BN_MP_2EXPT_C
907 # define BN_MP_COUNT_BITS_C 909 # define BN_MP_CLEAR_C
908 # define BN_S_MP_SUB_C 910 # define BN_MP_COUNT_BITS_C
909 # define BN_MP_CLEAR_C 911 # define BN_MP_INIT_C
912 # define BN_S_MP_SUB_C
910 #endif 913 #endif
911 914
912 #if defined(BN_MP_REDUCE_IS_2K_C) 915 #if defined(BN_MP_REDUCE_IS_2K_C)
913 # define BN_MP_REDUCE_2K_C
914 # define BN_MP_COUNT_BITS_C 916 # define BN_MP_COUNT_BITS_C
915 #endif 917 #endif
916 918
917 #if defined(BN_MP_REDUCE_IS_2K_L_C) 919 #if defined(BN_MP_REDUCE_IS_2K_L_C)
918 #endif 920 #endif
920 #if defined(BN_MP_REDUCE_SETUP_C) 922 #if defined(BN_MP_REDUCE_SETUP_C)
921 # define BN_MP_2EXPT_C 923 # define BN_MP_2EXPT_C
922 # define BN_MP_DIV_C 924 # define BN_MP_DIV_C
923 #endif 925 #endif
924 926
927 #if defined(BN_MP_ROOT_U32_C)
928 # define BN_MP_2EXPT_C
929 # define BN_MP_ADD_D_C
930 # define BN_MP_CLEAR_MULTI_C
931 # define BN_MP_CMP_C
932 # define BN_MP_COPY_C
933 # define BN_MP_COUNT_BITS_C
934 # define BN_MP_DIV_C
935 # define BN_MP_EXCH_C
936 # define BN_MP_EXPT_U32_C
937 # define BN_MP_INIT_MULTI_C
938 # define BN_MP_MUL_C
939 # define BN_MP_MUL_D_C
940 # define BN_MP_SET_C
941 # define BN_MP_SUB_C
942 # define BN_MP_SUB_D_C
943 #endif
944
925 #if defined(BN_MP_RSHD_C) 945 #if defined(BN_MP_RSHD_C)
926 # define BN_MP_ZERO_C 946 # define BN_MP_ZERO_C
927 #endif 947 #endif
928 948
949 #if defined(BN_MP_SBIN_SIZE_C)
950 # define BN_MP_UBIN_SIZE_C
951 #endif
952
929 #if defined(BN_MP_SET_C) 953 #if defined(BN_MP_SET_C)
930 # define BN_MP_ZERO_C 954 #endif
931 #endif 955
932 956 #if defined(BN_MP_SET_I32_C)
933 #if defined(BN_MP_SET_DOUBLE_C) 957 # define BN_MP_SET_U32_C
934 # define BN_MP_SET_LONG_LONG_C 958 #endif
959
960 #if defined(BN_MP_SET_I64_C)
961 # define BN_MP_SET_U64_C
962 #endif
963
964 #if defined(BN_MP_SET_L_C)
965 # define BN_MP_SET_UL_C
966 #endif
967
968 #if defined(BN_MP_SET_LL_C)
969 # define BN_MP_SET_ULL_C
970 #endif
971
972 #if defined(BN_MP_SET_U32_C)
973 #endif
974
975 #if defined(BN_MP_SET_U64_C)
976 #endif
977
978 #if defined(BN_MP_SET_UL_C)
979 #endif
980
981 #if defined(BN_MP_SET_ULL_C)
982 #endif
983
984 #if defined(BN_MP_SHRINK_C)
985 #endif
986
987 #if defined(BN_MP_SIGNED_RSH_C)
988 # define BN_MP_ADD_D_C
935 # define BN_MP_DIV_2D_C 989 # define BN_MP_DIV_2D_C
936 # define BN_MP_MUL_2D_C 990 # define BN_MP_SUB_D_C
937 # define BN_MP_ISZERO_C
938 #endif
939
940 #if defined(BN_MP_SET_INT_C)
941 # define BN_MP_ZERO_C
942 # define BN_MP_MUL_2D_C
943 # define BN_MP_CLAMP_C
944 #endif
945
946 #if defined(BN_MP_SET_LONG_C)
947 #endif
948
949 #if defined(BN_MP_SET_LONG_LONG_C)
950 #endif
951
952 #if defined(BN_MP_SHRINK_C)
953 #endif
954
955 #if defined(BN_MP_SIGNED_BIN_SIZE_C)
956 # define BN_MP_UNSIGNED_BIN_SIZE_C
957 #endif 991 #endif
958 992
959 #if defined(BN_MP_SQR_C) 993 #if defined(BN_MP_SQR_C)
960 # define BN_MP_TOOM_SQR_C 994 # define BN_S_MP_KARATSUBA_SQR_C
961 # define BN_MP_KARATSUBA_SQR_C
962 # define BN_FAST_S_MP_SQR_C
963 # define BN_S_MP_SQR_C 995 # define BN_S_MP_SQR_C
996 # define BN_S_MP_SQR_FAST_C
997 # define BN_S_MP_TOOM_SQR_C
964 #endif 998 #endif
965 999
966 #if defined(BN_MP_SQRMOD_C) 1000 #if defined(BN_MP_SQRMOD_C)
967 # define BN_MP_INIT_C 1001 # define BN_MP_CLEAR_C
1002 # define BN_MP_INIT_C
1003 # define BN_MP_MOD_C
968 # define BN_MP_SQR_C 1004 # define BN_MP_SQR_C
969 # define BN_MP_CLEAR_C
970 # define BN_MP_MOD_C
971 #endif 1005 #endif
972 1006
973 #if defined(BN_MP_SQRT_C) 1007 #if defined(BN_MP_SQRT_C)
974 # define BN_MP_N_ROOT_C 1008 # define BN_MP_ADD_C
975 # define BN_MP_ISZERO_C 1009 # define BN_MP_CLEAR_C
976 # define BN_MP_ZERO_C 1010 # define BN_MP_CMP_MAG_C
1011 # define BN_MP_DIV_2_C
1012 # define BN_MP_DIV_C
1013 # define BN_MP_EXCH_C
1014 # define BN_MP_INIT_C
977 # define BN_MP_INIT_COPY_C 1015 # define BN_MP_INIT_COPY_C
978 # define BN_MP_RSHD_C 1016 # define BN_MP_RSHD_C
979 # define BN_MP_DIV_C 1017 # define BN_MP_ZERO_C
980 # define BN_MP_ADD_C
981 # define BN_MP_DIV_2_C
982 # define BN_MP_CMP_MAG_C
983 # define BN_MP_EXCH_C
984 # define BN_MP_CLEAR_C
985 #endif 1018 #endif
986 1019
987 #if defined(BN_MP_SQRTMOD_PRIME_C) 1020 #if defined(BN_MP_SQRTMOD_PRIME_C)
1021 # define BN_MP_ADD_D_C
1022 # define BN_MP_CLEAR_MULTI_C
988 # define BN_MP_CMP_D_C 1023 # define BN_MP_CMP_D_C
989 # define BN_MP_ZERO_C 1024 # define BN_MP_COPY_C
990 # define BN_MP_JACOBI_C
991 # define BN_MP_INIT_MULTI_C
992 # define BN_MP_MOD_D_C
993 # define BN_MP_ADD_D_C
994 # define BN_MP_DIV_2_C 1025 # define BN_MP_DIV_2_C
995 # define BN_MP_EXPTMOD_C 1026 # define BN_MP_EXPTMOD_C
996 # define BN_MP_COPY_C 1027 # define BN_MP_INIT_MULTI_C
1028 # define BN_MP_KRONECKER_C
1029 # define BN_MP_MOD_D_C
1030 # define BN_MP_MULMOD_C
1031 # define BN_MP_SET_C
1032 # define BN_MP_SET_U32_C
1033 # define BN_MP_SQRMOD_C
997 # define BN_MP_SUB_D_C 1034 # define BN_MP_SUB_D_C
998 # define BN_MP_ISEVEN_C 1035 # define BN_MP_ZERO_C
999 # define BN_MP_SET_INT_C 1036 #endif
1000 # define BN_MP_SQRMOD_C 1037
1038 #if defined(BN_MP_SUB_C)
1039 # define BN_MP_CMP_MAG_C
1040 # define BN_S_MP_ADD_C
1041 # define BN_S_MP_SUB_C
1042 #endif
1043
1044 #if defined(BN_MP_SUB_D_C)
1045 # define BN_MP_ADD_D_C
1046 # define BN_MP_CLAMP_C
1047 # define BN_MP_GROW_C
1048 #endif
1049
1050 #if defined(BN_MP_SUBMOD_C)
1051 # define BN_MP_CLEAR_C
1052 # define BN_MP_INIT_C
1053 # define BN_MP_MOD_C
1054 # define BN_MP_SUB_C
1055 #endif
1056
1057 #if defined(BN_MP_TO_RADIX_C)
1058 # define BN_MP_CLEAR_C
1059 # define BN_MP_DIV_D_C
1060 # define BN_MP_INIT_COPY_C
1061 # define BN_S_MP_REVERSE_C
1062 #endif
1063
1064 #if defined(BN_MP_TO_SBIN_C)
1065 # define BN_MP_TO_UBIN_C
1066 #endif
1067
1068 #if defined(BN_MP_TO_UBIN_C)
1069 # define BN_MP_CLEAR_C
1070 # define BN_MP_DIV_2D_C
1071 # define BN_MP_INIT_COPY_C
1072 # define BN_MP_UBIN_SIZE_C
1073 #endif
1074
1075 #if defined(BN_MP_UBIN_SIZE_C)
1076 # define BN_MP_COUNT_BITS_C
1077 #endif
1078
1079 #if defined(BN_MP_UNPACK_C)
1080 # define BN_MP_CLAMP_C
1081 # define BN_MP_MUL_2D_C
1082 # define BN_MP_ZERO_C
1083 #endif
1084
1085 #if defined(BN_MP_XOR_C)
1086 # define BN_MP_CLAMP_C
1087 # define BN_MP_GROW_C
1088 #endif
1089
1090 #if defined(BN_MP_ZERO_C)
1091 #endif
1092
1093 #if defined(BN_PRIME_TAB_C)
1094 #endif
1095
1096 #if defined(BN_S_MP_ADD_C)
1097 # define BN_MP_CLAMP_C
1098 # define BN_MP_GROW_C
1099 #endif
1100
1101 #if defined(BN_S_MP_BALANCE_MUL_C)
1102 # define BN_MP_ADD_C
1103 # define BN_MP_CLAMP_C
1104 # define BN_MP_CLEAR_C
1105 # define BN_MP_CLEAR_MULTI_C
1106 # define BN_MP_EXCH_C
1107 # define BN_MP_INIT_MULTI_C
1108 # define BN_MP_INIT_SIZE_C
1109 # define BN_MP_LSHD_C
1110 # define BN_MP_MUL_C
1111 #endif
1112
1113 #if defined(BN_S_MP_EXPTMOD_C)
1114 # define BN_MP_CLEAR_C
1115 # define BN_MP_COPY_C
1116 # define BN_MP_COUNT_BITS_C
1117 # define BN_MP_EXCH_C
1118 # define BN_MP_INIT_C
1119 # define BN_MP_MOD_C
1120 # define BN_MP_MUL_C
1121 # define BN_MP_REDUCE_2K_L_C
1122 # define BN_MP_REDUCE_2K_SETUP_L_C
1123 # define BN_MP_REDUCE_C
1124 # define BN_MP_REDUCE_SETUP_C
1125 # define BN_MP_SET_C
1126 # define BN_MP_SQR_C
1127 #endif
1128
1129 #if defined(BN_S_MP_EXPTMOD_FAST_C)
1130 # define BN_MP_CLEAR_C
1131 # define BN_MP_COPY_C
1132 # define BN_MP_COUNT_BITS_C
1133 # define BN_MP_DR_REDUCE_C
1134 # define BN_MP_DR_SETUP_C
1135 # define BN_MP_EXCH_C
1136 # define BN_MP_INIT_SIZE_C
1137 # define BN_MP_MOD_C
1138 # define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
1139 # define BN_MP_MONTGOMERY_REDUCE_C
1140 # define BN_MP_MONTGOMERY_SETUP_C
1001 # define BN_MP_MULMOD_C 1141 # define BN_MP_MULMOD_C
1002 # define BN_MP_SET_C 1142 # define BN_MP_MUL_C
1143 # define BN_MP_REDUCE_2K_C
1144 # define BN_MP_REDUCE_2K_SETUP_C
1145 # define BN_MP_SET_C
1146 # define BN_MP_SQR_C
1147 # define BN_S_MP_MONTGOMERY_REDUCE_FAST_C
1148 #endif
1149
1150 #if defined(BN_S_MP_GET_BIT_C)
1151 #endif
1152
1153 #if defined(BN_S_MP_INVMOD_FAST_C)
1154 # define BN_MP_ADD_C
1003 # define BN_MP_CLEAR_MULTI_C 1155 # define BN_MP_CLEAR_MULTI_C
1004 #endif 1156 # define BN_MP_CMP_C
1005 1157 # define BN_MP_CMP_D_C
1006 #if defined(BN_MP_SUB_C) 1158 # define BN_MP_CMP_MAG_C
1159 # define BN_MP_COPY_C
1160 # define BN_MP_DIV_2_C
1161 # define BN_MP_EXCH_C
1162 # define BN_MP_INIT_MULTI_C
1163 # define BN_MP_MOD_C
1164 # define BN_MP_SET_C
1165 # define BN_MP_SUB_C
1166 #endif
1167
1168 #if defined(BN_S_MP_INVMOD_SLOW_C)
1169 # define BN_MP_ADD_C
1170 # define BN_MP_CLEAR_MULTI_C
1171 # define BN_MP_CMP_C
1172 # define BN_MP_CMP_D_C
1173 # define BN_MP_CMP_MAG_C
1174 # define BN_MP_COPY_C
1175 # define BN_MP_DIV_2_C
1176 # define BN_MP_EXCH_C
1177 # define BN_MP_INIT_MULTI_C
1178 # define BN_MP_MOD_C
1179 # define BN_MP_SET_C
1180 # define BN_MP_SUB_C
1181 #endif
1182
1183 #if defined(BN_S_MP_KARATSUBA_MUL_C)
1184 # define BN_MP_ADD_C
1185 # define BN_MP_CLAMP_C
1186 # define BN_MP_CLEAR_C
1187 # define BN_MP_INIT_SIZE_C
1188 # define BN_MP_LSHD_C
1189 # define BN_MP_MUL_C
1007 # define BN_S_MP_ADD_C 1190 # define BN_S_MP_ADD_C
1008 # define BN_MP_CMP_MAG_C 1191 # define BN_S_MP_SUB_C
1009 # define BN_S_MP_SUB_C 1192 #endif
1010 #endif 1193
1011 1194 #if defined(BN_S_MP_KARATSUBA_SQR_C)
1012 #if defined(BN_MP_SUB_D_C) 1195 # define BN_MP_ADD_C
1013 # define BN_MP_GROW_C 1196 # define BN_MP_CLAMP_C
1014 # define BN_MP_ADD_D_C 1197 # define BN_MP_CLEAR_C
1015 # define BN_MP_CLAMP_C 1198 # define BN_MP_INIT_SIZE_C
1016 #endif 1199 # define BN_MP_LSHD_C
1017 1200 # define BN_MP_SQR_C
1018 #if defined(BN_MP_SUBMOD_C) 1201 # define BN_S_MP_ADD_C
1019 # define BN_MP_INIT_C 1202 # define BN_S_MP_SUB_C
1203 #endif
1204
1205 #if defined(BN_S_MP_MONTGOMERY_REDUCE_FAST_C)
1206 # define BN_MP_CLAMP_C
1207 # define BN_MP_CMP_MAG_C
1208 # define BN_MP_GROW_C
1209 # define BN_S_MP_SUB_C
1210 #endif
1211
1212 #if defined(BN_S_MP_MUL_DIGS_C)
1213 # define BN_MP_CLAMP_C
1214 # define BN_MP_CLEAR_C
1215 # define BN_MP_EXCH_C
1216 # define BN_MP_INIT_SIZE_C
1217 # define BN_S_MP_MUL_DIGS_FAST_C
1218 #endif
1219
1220 #if defined(BN_S_MP_MUL_DIGS_FAST_C)
1221 # define BN_MP_CLAMP_C
1222 # define BN_MP_GROW_C
1223 #endif
1224
1225 #if defined(BN_S_MP_MUL_HIGH_DIGS_C)
1226 # define BN_MP_CLAMP_C
1227 # define BN_MP_CLEAR_C
1228 # define BN_MP_EXCH_C
1229 # define BN_MP_INIT_SIZE_C
1230 # define BN_S_MP_MUL_HIGH_DIGS_FAST_C
1231 #endif
1232
1233 #if defined(BN_S_MP_MUL_HIGH_DIGS_FAST_C)
1234 # define BN_MP_CLAMP_C
1235 # define BN_MP_GROW_C
1236 #endif
1237
1238 #if defined(BN_S_MP_PRIME_IS_DIVISIBLE_C)
1239 # define BN_MP_MOD_D_C
1240 #endif
1241
1242 #if defined(BN_S_MP_RAND_JENKINS_C)
1243 # define BN_S_MP_RAND_JENKINS_INIT_C
1244 #endif
1245
1246 #if defined(BN_S_MP_RAND_PLATFORM_C)
1247 #endif
1248
1249 #if defined(BN_S_MP_REVERSE_C)
1250 #endif
1251
1252 #if defined(BN_S_MP_SQR_C)
1253 # define BN_MP_CLAMP_C
1254 # define BN_MP_CLEAR_C
1255 # define BN_MP_EXCH_C
1256 # define BN_MP_INIT_SIZE_C
1257 #endif
1258
1259 #if defined(BN_S_MP_SQR_FAST_C)
1260 # define BN_MP_CLAMP_C
1261 # define BN_MP_GROW_C
1262 #endif
1263
1264 #if defined(BN_S_MP_SUB_C)
1265 # define BN_MP_CLAMP_C
1266 # define BN_MP_GROW_C
1267 #endif
1268
1269 #if defined(BN_S_MP_TOOM_MUL_C)
1270 # define BN_MP_ADD_C
1271 # define BN_MP_CLAMP_C
1272 # define BN_MP_CLEAR_C
1273 # define BN_MP_CLEAR_MULTI_C
1274 # define BN_MP_DIV_2_C
1275 # define BN_MP_DIV_3_C
1276 # define BN_MP_INIT_MULTI_C
1277 # define BN_MP_INIT_SIZE_C
1278 # define BN_MP_LSHD_C
1279 # define BN_MP_MUL_2_C
1280 # define BN_MP_MUL_C
1020 # define BN_MP_SUB_C 1281 # define BN_MP_SUB_C
1021 # define BN_MP_CLEAR_C 1282 #endif
1022 # define BN_MP_MOD_C 1283
1023 #endif 1284 #if defined(BN_S_MP_TOOM_SQR_C)
1024 1285 # define BN_MP_ADD_C
1025 #if defined(BN_MP_TC_AND_C) 1286 # define BN_MP_CLAMP_C
1026 # define BN_MP_ISNEG_C 1287 # define BN_MP_CLEAR_C
1027 # define BN_MP_COUNT_BITS_C 1288 # define BN_MP_DIV_2_C
1028 # define BN_MP_INIT_SET_INT_C 1289 # define BN_MP_INIT_C
1029 # define BN_MP_MUL_2D_C 1290 # define BN_MP_INIT_SIZE_C
1030 # define BN_MP_INIT_C 1291 # define BN_MP_LSHD_C
1031 # define BN_MP_ADD_C 1292 # define BN_MP_MUL_2_C
1032 # define BN_MP_CLEAR_C 1293 # define BN_MP_MUL_C
1033 # define BN_MP_AND_C 1294 # define BN_MP_SQR_C
1034 # define BN_MP_SUB_C 1295 # define BN_MP_SUB_C
1035 #endif 1296 #endif
1036 1297
1037 #if defined(BN_MP_TC_DIV_2D_C) 1298 #ifdef LTM_INSIDE
1038 # define BN_MP_ISNEG_C 1299 #undef LTM_INSIDE
1039 # define BN_MP_DIV_2D_C
1040 # define BN_MP_ADD_D_C
1041 # define BN_MP_SUB_D_C
1042 #endif
1043
1044 #if defined(BN_MP_TC_OR_C)
1045 # define BN_MP_ISNEG_C
1046 # define BN_MP_COUNT_BITS_C
1047 # define BN_MP_INIT_SET_INT_C
1048 # define BN_MP_MUL_2D_C
1049 # define BN_MP_INIT_C
1050 # define BN_MP_ADD_C
1051 # define BN_MP_CLEAR_C
1052 # define BN_MP_OR_C
1053 # define BN_MP_SUB_C
1054 #endif
1055
1056 #if defined(BN_MP_TC_XOR_C)
1057 # define BN_MP_ISNEG_C
1058 # define BN_MP_COUNT_BITS_C
1059 # define BN_MP_INIT_SET_INT_C
1060 # define BN_MP_MUL_2D_C
1061 # define BN_MP_INIT_C
1062 # define BN_MP_ADD_C
1063 # define BN_MP_CLEAR_C
1064 # define BN_MP_XOR_C
1065 # define BN_MP_SUB_C
1066 #endif
1067
1068 #if defined(BN_MP_TO_SIGNED_BIN_C)
1069 # define BN_MP_TO_UNSIGNED_BIN_C
1070 #endif
1071
1072 #if defined(BN_MP_TO_SIGNED_BIN_N_C)
1073 # define BN_MP_SIGNED_BIN_SIZE_C
1074 # define BN_MP_TO_SIGNED_BIN_C
1075 #endif
1076
1077 #if defined(BN_MP_TO_UNSIGNED_BIN_C)
1078 # define BN_MP_INIT_COPY_C
1079 # define BN_MP_ISZERO_C
1080 # define BN_MP_DIV_2D_C
1081 # define BN_MP_CLEAR_C
1082 #endif
1083
1084 #if defined(BN_MP_TO_UNSIGNED_BIN_N_C)
1085 # define BN_MP_UNSIGNED_BIN_SIZE_C
1086 # define BN_MP_TO_UNSIGNED_BIN_C
1087 #endif
1088
1089 #if defined(BN_MP_TOOM_MUL_C)
1090 # define BN_MP_INIT_MULTI_C
1091 # define BN_MP_MOD_2D_C
1092 # define BN_MP_COPY_C
1093 # define BN_MP_RSHD_C
1094 # define BN_MP_MUL_C
1095 # define BN_MP_MUL_2_C
1096 # define BN_MP_ADD_C
1097 # define BN_MP_SUB_C
1098 # define BN_MP_DIV_2_C
1099 # define BN_MP_MUL_2D_C
1100 # define BN_MP_MUL_D_C
1101 # define BN_MP_DIV_3_C
1102 # define BN_MP_LSHD_C
1103 # define BN_MP_CLEAR_MULTI_C
1104 #endif
1105
1106 #if defined(BN_MP_TOOM_SQR_C)
1107 # define BN_MP_INIT_MULTI_C
1108 # define BN_MP_MOD_2D_C
1109 # define BN_MP_COPY_C
1110 # define BN_MP_RSHD_C
1111 # define BN_MP_SQR_C
1112 # define BN_MP_MUL_2_C
1113 # define BN_MP_ADD_C
1114 # define BN_MP_SUB_C
1115 # define BN_MP_DIV_2_C
1116 # define BN_MP_MUL_2D_C
1117 # define BN_MP_MUL_D_C
1118 # define BN_MP_DIV_3_C
1119 # define BN_MP_LSHD_C
1120 # define BN_MP_CLEAR_MULTI_C
1121 #endif
1122
1123 #if defined(BN_MP_TORADIX_C)
1124 # define BN_MP_ISZERO_C
1125 # define BN_MP_INIT_COPY_C
1126 # define BN_MP_DIV_D_C
1127 # define BN_MP_CLEAR_C
1128 # define BN_MP_S_RMAP_C
1129 #endif
1130
1131 #if defined(BN_MP_TORADIX_N_C)
1132 # define BN_MP_ISZERO_C
1133 # define BN_MP_INIT_COPY_C
1134 # define BN_MP_DIV_D_C
1135 # define BN_MP_CLEAR_C
1136 # define BN_MP_S_RMAP_C
1137 #endif
1138
1139 #if defined(BN_MP_UNSIGNED_BIN_SIZE_C)
1140 # define BN_MP_COUNT_BITS_C
1141 #endif
1142
1143 #if defined(BN_MP_XOR_C)
1144 # define BN_MP_INIT_COPY_C
1145 # define BN_MP_CLAMP_C
1146 # define BN_MP_EXCH_C
1147 # define BN_MP_CLEAR_C
1148 #endif
1149
1150 #if defined(BN_MP_ZERO_C)
1151 #endif
1152
1153 #if defined(BN_PRIME_TAB_C)
1154 #endif
1155
1156 #if defined(BN_REVERSE_C)
1157 #endif
1158
1159 #if defined(BN_S_MP_ADD_C)
1160 # define BN_MP_GROW_C
1161 # define BN_MP_CLAMP_C
1162 #endif
1163
1164 #if defined(BN_S_MP_EXPTMOD_C)
1165 # define BN_MP_COUNT_BITS_C
1166 # define BN_MP_INIT_C
1167 # define BN_MP_CLEAR_C
1168 # define BN_MP_REDUCE_SETUP_C
1169 # define BN_MP_REDUCE_C
1170 # define BN_MP_REDUCE_2K_SETUP_L_C
1171 # define BN_MP_REDUCE_2K_L_C
1172 # define BN_MP_MOD_C
1173 # define BN_MP_COPY_C
1174 # define BN_MP_SQR_C
1175 # define BN_MP_MUL_C
1176 # define BN_MP_SET_C
1177 # define BN_MP_EXCH_C
1178 #endif
1179
1180 #if defined(BN_S_MP_MUL_DIGS_C)
1181 # define BN_FAST_S_MP_MUL_DIGS_C
1182 # define BN_MP_INIT_SIZE_C
1183 # define BN_MP_CLAMP_C
1184 # define BN_MP_EXCH_C
1185 # define BN_MP_CLEAR_C
1186 #endif
1187
1188 #if defined(BN_S_MP_MUL_HIGH_DIGS_C)
1189 # define BN_FAST_S_MP_MUL_HIGH_DIGS_C
1190 # define BN_MP_INIT_SIZE_C
1191 # define BN_MP_CLAMP_C
1192 # define BN_MP_EXCH_C
1193 # define BN_MP_CLEAR_C
1194 #endif
1195
1196 #if defined(BN_S_MP_SQR_C)
1197 # define BN_MP_INIT_SIZE_C
1198 # define BN_MP_CLAMP_C
1199 # define BN_MP_EXCH_C
1200 # define BN_MP_CLEAR_C
1201 #endif
1202
1203 #if defined(BN_S_MP_SUB_C)
1204 # define BN_MP_GROW_C
1205 # define BN_MP_CLAMP_C
1206 #endif
1207
1208 #if defined(BNCORE_C)
1209 #endif
1210
1211 #ifdef LTM3 1300 #ifdef LTM3
1212 # define LTM_LAST 1301 # define LTM_LAST
1213 #endif 1302 #endif
1214 1303
1215 #include "tommath_superclass.h" 1304 #include "tommath_superclass.h"
1223 #undef BN_MP_KARATSUBA_SQR_C 1312 #undef BN_MP_KARATSUBA_SQR_C
1224 #undef BN_MP_TOOM_MUL_C 1313 #undef BN_MP_TOOM_MUL_C
1225 #undef BN_MP_TOOM_SQR_C 1314 #undef BN_MP_TOOM_SQR_C
1226 1315
1227 #include "dbmalloc.h" 1316 #include "dbmalloc.h"
1228 #define XMALLOC m_malloc 1317 #define MP_MALLOC m_malloc
1229 #define XFREE m_free_direct 1318 #define MP_FREE m_free_ltm
1230 #define XREALLOC m_realloc 1319 #define MP_REALLOC m_realloc_ltm
1231 #define XCALLOC m_calloc 1320 #define MP_CALLOC m_calloc
1232
1233 /* ref: HEAD -> master, tag: v1.1.0 */
1234 /* git commit: 08549ad6bc8b0cede0b357a9c341c5c6473a9c55 */
1235 /* commit time: 2019-01-28 20:32:32 +0100 */