summaryrefslogtreecommitdiffstats
path: root/libtommath/bn_mp_expt_d_ex.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2017-09-18 08:31:55 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2017-09-18 08:31:55 (GMT)
commita187f65cfd5964971d7ed52f09e18fdbb4bf51cc (patch)
tree6b7bbde03122d1571d4543d10eccfe88610bd680 /libtommath/bn_mp_expt_d_ex.c
parent0faaca01de4e9fa2039c7fdd34f60b138f665249 (diff)
parent30f7e69b182d1267056ee2628a860891f6555aa3 (diff)
downloadtcl-a187f65cfd5964971d7ed52f09e18fdbb4bf51cc.zip
tcl-a187f65cfd5964971d7ed52f09e18fdbb4bf51cc.tar.gz
tcl-a187f65cfd5964971d7ed52f09e18fdbb4bf51cc.tar.bz2
Merge libtommath upstream changes (astyle formatting only). No functional changes. All Tcl-specific modifications are kept.
Diffstat (limited to 'libtommath/bn_mp_expt_d_ex.c')
-rw-r--r--libtommath/bn_mp_expt_d_ex.c95
1 files changed, 47 insertions, 48 deletions
diff --git a/libtommath/bn_mp_expt_d_ex.c b/libtommath/bn_mp_expt_d_ex.c
index 545d156..99319a5 100644
--- a/libtommath/bn_mp_expt_d_ex.c
+++ b/libtommath/bn_mp_expt_d_ex.c
@@ -16,65 +16,64 @@
*/
/* calculate c = a**b using a square-multiply algorithm */
-int mp_expt_d_ex (const mp_int * a, mp_digit b, mp_int * c, int fast)
+int mp_expt_d_ex(const mp_int *a, mp_digit b, mp_int *c, int fast)
{
- int res;
- unsigned int x;
+ int res;
+ unsigned int x;
- mp_int g;
+ mp_int g;
- if ((res = mp_init_copy (&g, a)) != MP_OKAY) {
- return res;
- }
+ if ((res = mp_init_copy(&g, a)) != MP_OKAY) {
+ return res;
+ }
- /* set initial result */
- mp_set (c, 1);
+ /* set initial result */
+ mp_set(c, 1);
- if (fast != 0) {
- while (b > 0) {
- /* if the bit is set multiply */
- if ((b & 1) != 0) {
- if ((res = mp_mul (c, &g, c)) != MP_OKAY) {
- mp_clear (&g);
- return res;
- }
- }
+ if (fast != 0) {
+ while (b > 0) {
+ /* if the bit is set multiply */
+ if ((b & 1) != 0) {
+ if ((res = mp_mul(c, &g, c)) != MP_OKAY) {
+ mp_clear(&g);
+ return res;
+ }
+ }
- /* square */
- if (b > 1) {
- if ((res = mp_sqr (&g, &g)) != MP_OKAY) {
- mp_clear (&g);
- return res;
- }
- }
+ /* square */
+ if (b > 1) {
+ if ((res = mp_sqr(&g, &g)) != MP_OKAY) {
+ mp_clear(&g);
+ return res;
+ }
+ }
- /* shift to next bit */
- b >>= 1;
- }
- }
- else {
- for (x = 0; x < DIGIT_BIT; x++) {
- /* square */
- if ((res = mp_sqr (c, c)) != MP_OKAY) {
- mp_clear (&g);
- return res;
+ /* shift to next bit */
+ b >>= 1;
}
+ } else {
+ for (x = 0; x < DIGIT_BIT; x++) {
+ /* square */
+ if ((res = mp_sqr(c, c)) != MP_OKAY) {
+ mp_clear(&g);
+ return res;
+ }
- /* if the bit is set multiply */
- if ((b & (mp_digit) (((mp_digit)1) << (DIGIT_BIT - 1))) != 0) {
- if ((res = mp_mul (c, &g, c)) != MP_OKAY) {
- mp_clear (&g);
- return res;
- }
- }
+ /* if the bit is set multiply */
+ if ((b & (mp_digit)(((mp_digit)1) << (DIGIT_BIT - 1))) != 0) {
+ if ((res = mp_mul(c, &g, c)) != MP_OKAY) {
+ mp_clear(&g);
+ return res;
+ }
+ }
- /* shift to next bit */
- b <<= 1;
- }
- } /* if ... else */
+ /* shift to next bit */
+ b <<= 1;
+ }
+ } /* if ... else */
- mp_clear (&g);
- return MP_OKAY;
+ mp_clear(&g);
+ return MP_OKAY;
}
#endif