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