| Line |   | 
|---|
| 1 | #include <tommath.h> | 
|---|
| 2 | #ifdef BN_MP_INIT_SIZE_C | 
|---|
| 3 | /* LibTomMath, multiple-precision integer library -- Tom St Denis | 
|---|
| 4 |  * | 
|---|
| 5 |  * LibTomMath is a library that provides multiple-precision | 
|---|
| 6 |  * integer arithmetic as well as number theoretic functionality. | 
|---|
| 7 |  * | 
|---|
| 8 |  * The library was designed directly after the MPI library by | 
|---|
| 9 |  * Michael Fromberger but has been written from scratch with | 
|---|
| 10 |  * additional optimizations in place. | 
|---|
| 11 |  * | 
|---|
| 12 |  * The library is free for all purposes without any express | 
|---|
| 13 |  * guarantee it works. | 
|---|
| 14 |  * | 
|---|
| 15 |  * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com | 
|---|
| 16 |  */ | 
|---|
| 17 |  | 
|---|
| 18 | /* init an mp_init for a given size */ | 
|---|
| 19 | int mp_init_size (mp_int * a, int size) | 
|---|
| 20 | { | 
|---|
| 21 |   int x; | 
|---|
| 22 |  | 
|---|
| 23 |   /* pad size so there are always extra digits */ | 
|---|
| 24 |   size += (MP_PREC * 2) - (size % MP_PREC);      | 
|---|
| 25 |    | 
|---|
| 26 |   /* alloc mem */ | 
|---|
| 27 |   a->dp = OPT_CAST(mp_digit) XMALLOC (sizeof (mp_digit) * size); | 
|---|
| 28 |   if (a->dp == NULL) { | 
|---|
| 29 |     return MP_MEM; | 
|---|
| 30 |   } | 
|---|
| 31 |  | 
|---|
| 32 |   /* set the members */ | 
|---|
| 33 |   a->used  = 0; | 
|---|
| 34 |   a->alloc = size; | 
|---|
| 35 |   a->sign  = MP_ZPOS; | 
|---|
| 36 |  | 
|---|
| 37 |   /* zero the digits */ | 
|---|
| 38 |   for (x = 0; x < size; x++) { | 
|---|
| 39 |       a->dp[x] = 0; | 
|---|
| 40 |   } | 
|---|
| 41 |  | 
|---|
| 42 |   return MP_OKAY; | 
|---|
| 43 | } | 
|---|
| 44 | #endif | 
|---|
| 45 |  | 
|---|
| 46 | /* $Source: /cvsroot/tcl/libtommath/bn_mp_init_size.c,v $ */ | 
|---|
| 47 | /* $Revision: 1.1.1.3 $ */ | 
|---|
| 48 | /* $Date: 2006/12/01 00:08:11 $ */ | 
|---|
       
      
      Note: See 
TracBrowser
        for help on using the repository browser.