# BRCM_VERSION=3
[bcm963xx.git] / userapps / opensource / sshd / libtommath / bn_mp_clamp.c
1 /* LibTomMath, multiple-precision integer library -- Tom St Denis
2  *
3  * LibTomMath is library that provides for multiple-precision
4  * integer arithmetic as well as number theoretic functionality.
5  *
6  * The library is designed directly after the MPI library by
7  * Michael Fromberger but has been written from scratch with
8  * additional optimizations in place.
9  *
10  * The library is free for all purposes without any express
11  * guarantee it works.
12  *
13  * Tom St Denis, tomstdenis@iahu.ca, http://math.libtomcrypt.org
14  */
15 #include <tommath.h>
16
17 /* trim unused digits 
18  *
19  * This is used to ensure that leading zero digits are
20  * trimed and the leading "used" digit will be non-zero
21  * Typically very fast.  Also fixes the sign if there
22  * are no more leading digits
23  */
24 void
25 mp_clamp (mp_int * a)
26 {
27   while (a->used > 0 && a->dp[a->used - 1] == 0) {
28     --(a->used);
29   }
30   if (a->used == 0) {
31     a->sign = MP_ZPOS;
32   }
33 }