8 #ifndef BOTAN_MP_CORE_H__     9 #define BOTAN_MP_CORE_H__    11 #include <botan/mp_types.h>    33 word 
bigint_cnd_add(word cnd, word x[], 
const word y[], 
size_t size);
    39 word 
bigint_cnd_sub(word cnd, word x[], 
const word y[], 
size_t size);
    52                  const word y[], 
size_t y_size);
    55                  const word x[], 
size_t x_size,
    56                  const word y[], 
size_t y_size);
    58 word 
bigint_add2_nc(word x[], 
size_t x_size, 
const word y[], 
size_t y_size);
    61                     const word x[], 
size_t x_size,
    62                     const word y[], 
size_t y_size);
    65                  const word y[], 
size_t y_size);
    73                  const word x[], 
size_t x_size,
    74                  const word y[], 
size_t y_size);
    80                  size_t word_shift, 
size_t bit_shift);
    83                  size_t word_shift, 
size_t bit_shift);
    85 void bigint_shl2(word y[], 
const word x[], 
size_t x_size,
    86                  size_t word_shift, 
size_t bit_shift);
    88 void bigint_shr2(word y[], 
const word x[], 
size_t x_size,
    89                  size_t word_shift, 
size_t bit_shift);
    95                        const word x[], 
size_t x_size,
    96                        const word y[], 
size_t y_size);
   104 void bigint_linmul3(word z[], 
const word x[], 
size_t x_size, word y);
   116                        const word p[], 
size_t p_size, word p_dash,
   123                       const word x[], 
size_t x_size, 
size_t x_sw,
   124                       const word y[], 
size_t y_size, 
size_t y_sw,
   125                       const word p[], 
size_t p_size, word p_dash,
   132                       const word x[], 
size_t x_size, 
size_t x_sw,
   133                       const word p[], 
size_t p_size, word p_dash,
   140                       word x3, word x2, word x1);
   146                   const word y[], 
size_t y_size);
   176 void bigint_mul(word z[], 
size_t z_size, word workspace[],
   177                 const word x[], 
size_t x_size, 
size_t x_sw,
   178                 const word y[], 
size_t y_size, 
size_t y_sw);
   180 void bigint_sqr(word z[], 
size_t z_size, word workspace[],
   181                 const word x[], 
size_t x_size, 
size_t x_sw);
 void bigint_shr1(word x[], size_t x_size, size_t word_shift, size_t bit_shift)
void bigint_sub2_rev(word x[], const word y[], size_t y_size)
void bigint_simple_mul(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
void bigint_shr2(word y[], const word x[], size_t x_size, size_t word_shift, size_t bit_shift)
word bigint_sub2(word x[], size_t x_size, const word y[], size_t y_size)
void bigint_linmul2(word x[], size_t x_size, word y)
word bigint_add3_nc(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
void bigint_comba_mul4(word z[8], const word x[4], const word y[4])
word bigint_sub3(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
word bigint_divop(word n1, word n0, word d)
void bigint_monty_sqr(word z[], size_t z_size, const word x[], size_t x_size, size_t x_sw, const word p[], size_t p_size, word p_dash, word workspace[])
void bigint_linmul3(word z[], const word x[], size_t x_size, word y)
void bigint_comba_sqr16(word z[32], const word x[16])
word bigint_cnd_sub(word cnd, word x[], const word y[], size_t size)
void bigint_monty_redc(word z[], size_t z_size, const word p[], size_t p_size, word p_dash, word workspace[])
void bigint_cnd_swap(word cnd, word x[], word y[], size_t size)
void bigint_sqr(word z[], size_t z_size, word workspace[], const word x[], size_t x_size, size_t x_sw)
word bigint_add2_nc(word x[], size_t x_size, const word y[], size_t y_size)
void bigint_shl2(word y[], const word x[], size_t x_size, size_t word_shift, size_t bit_shift)
void bigint_monty_mul(word z[], size_t z_size, const word x[], size_t x_size, size_t x_sw, const word y[], size_t y_size, size_t y_sw, const word p[], size_t p_size, word p_dash, word workspace[])
void bigint_shl1(word x[], size_t x_size, size_t word_shift, size_t bit_shift)
void bigint_comba_mul8(word z[16], const word x[8], const word y[8])
void bigint_mul(word z[], size_t z_size, word workspace[], const word x[], size_t x_size, size_t x_sw, const word y[], size_t y_size, size_t y_sw)
size_t bigint_divcore(word q, word y2, word y1, word x3, word x2, word x1)
void bigint_comba_sqr8(word z[16], const word x[8])
void bigint_add2(word x[], size_t x_size, const word y[], size_t y_size)
void bigint_comba_mul16(word z[32], const word x[16], const word y[16])
word bigint_cnd_add(word cnd, word x[], const word y[], size_t size)
void bigint_comba_mul6(word z[12], const word x[6], const word y[6])
void bigint_simple_sqr(word z[], const word x[], size_t x_size)
void bigint_cnd_abs(word cnd, word x[], size_t size)
void bigint_comba_sqr4(word z[8], const word x[4])
void bigint_comba_sqr6(word z[12], const word x[6])
s32bit bigint_cmp(const word x[], size_t x_size, const word y[], size_t y_size)
void bigint_add3(word z[], const word x[], size_t x_size, const word y[], size_t y_size)
word bigint_modop(word n1, word n0, word d)
const size_t MP_WORD_BITS