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