1 /* LibTomPoly, Polynomial Basis Math -- Tom St Denis
3 * LibTomPoly is a public domain library that provides
4 * polynomial basis arithmetic support. It relies on
5 * LibTomMath for large integer support.
7 * This library is free for all purposes without any
8 * express guarantee that it works.
10 * Tom St Denis, tomstdenis@iahu.ca, http://poly.libtomcrypt.org
14 int pb_shrink(pb_poly
*a
)
19 /* first resize the array of terms */
20 if (a
->used
!= a
->alloc
&& a
->used
> 0) {
21 tmp
= realloc(a
->terms
, sizeof(mp_int
) * a
->used
);
29 /* now shrink each mp_int */
30 for (x
= 0; x
< a
->used
; x
++) {
31 if ((err
= mp_shrink(&(a
->terms
[x
]))) != MP_OKAY
) {