diff options
Diffstat (limited to 'libtommath/bn_mp_init.c')
| -rw-r--r-- | libtommath/bn_mp_init.c | 42 | 
1 files changed, 42 insertions, 0 deletions
| diff --git a/libtommath/bn_mp_init.c b/libtommath/bn_mp_init.c new file mode 100644 index 0000000..ddb2d07 --- /dev/null +++ b/libtommath/bn_mp_init.c @@ -0,0 +1,42 @@ +#include <tommath.h> +#ifdef BN_MP_INIT_C +/* LibTomMath, multiple-precision integer library -- Tom St Denis + * + * LibTomMath is a library that provides multiple-precision + * integer arithmetic as well as number theoretic functionality. + * + * The library was designed directly after the MPI library by + * Michael Fromberger but has been written from scratch with + * additional optimizations in place. + * + * The library is free for all purposes without any express + * guarantee it works. + * + * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com + */ + +/* init a new mp_int */ +int mp_init (mp_int * a) +{ +  int i; + +  /* allocate memory required and clear it */ +  a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * MP_PREC); +  if (a->dp == NULL) { +    return MP_MEM; +  } + +  /* set the digits to zero */ +  for (i = 0; i < MP_PREC; i++) { +      a->dp[i] = 0; +  } + +  /* set the used to zero, allocated digits to the default precision +   * and sign to positive */ +  a->used  = 0; +  a->alloc = MP_PREC; +  a->sign  = MP_ZPOS; + +  return MP_OKAY; +} +#endif | 
