change some parameters in the library to meet the needs of the website httpbin.org

Fork of MiniTLS-GPL by Donatien Garnier

Committer:
shiyilei
Date:
Fri Feb 06 06:17:33 2015 +0000
Revision:
5:95f70ebfe61f
Parent:
0:35aa5be3b78d
change some parameters in the library to meet the needs of httpbin.org

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MiniTLS 0:35aa5be3b78d 1 /* TomsFastMath, a fast ISO C bignum library.
MiniTLS 0:35aa5be3b78d 2 *
MiniTLS 0:35aa5be3b78d 3 * This project is meant to fill in where LibTomMath
MiniTLS 0:35aa5be3b78d 4 * falls short. That is speed ;-)
MiniTLS 0:35aa5be3b78d 5 *
MiniTLS 0:35aa5be3b78d 6 * This project is public domain and free for all purposes.
MiniTLS 0:35aa5be3b78d 7 *
MiniTLS 0:35aa5be3b78d 8 * Tom St Denis, tomstdenis@gmail.com
MiniTLS 0:35aa5be3b78d 9 */
MiniTLS 0:35aa5be3b78d 10 #include <tfm.h>
MiniTLS 0:35aa5be3b78d 11
MiniTLS 0:35aa5be3b78d 12 void fp_add(fp_int *a, fp_int *b, fp_int *c)
MiniTLS 0:35aa5be3b78d 13 {
MiniTLS 0:35aa5be3b78d 14 int sa, sb;
MiniTLS 0:35aa5be3b78d 15
MiniTLS 0:35aa5be3b78d 16 /* get sign of both inputs */
MiniTLS 0:35aa5be3b78d 17 sa = a->sign;
MiniTLS 0:35aa5be3b78d 18 sb = b->sign;
MiniTLS 0:35aa5be3b78d 19
MiniTLS 0:35aa5be3b78d 20 /* handle two cases, not four */
MiniTLS 0:35aa5be3b78d 21 if (sa == sb) {
MiniTLS 0:35aa5be3b78d 22 /* both positive or both negative */
MiniTLS 0:35aa5be3b78d 23 /* add their magnitudes, copy the sign */
MiniTLS 0:35aa5be3b78d 24 c->sign = sa;
MiniTLS 0:35aa5be3b78d 25 s_fp_add (a, b, c);
MiniTLS 0:35aa5be3b78d 26 } else {
MiniTLS 0:35aa5be3b78d 27 /* one positive, the other negative */
MiniTLS 0:35aa5be3b78d 28 /* subtract the one with the greater magnitude from */
MiniTLS 0:35aa5be3b78d 29 /* the one of the lesser magnitude. The result gets */
MiniTLS 0:35aa5be3b78d 30 /* the sign of the one with the greater magnitude. */
MiniTLS 0:35aa5be3b78d 31 if (fp_cmp_mag (a, b) == FP_LT) {
MiniTLS 0:35aa5be3b78d 32 c->sign = sb;
MiniTLS 0:35aa5be3b78d 33 s_fp_sub (b, a, c);
MiniTLS 0:35aa5be3b78d 34 } else {
MiniTLS 0:35aa5be3b78d 35 c->sign = sa;
MiniTLS 0:35aa5be3b78d 36 s_fp_sub (a, b, c);
MiniTLS 0:35aa5be3b78d 37 }
MiniTLS 0:35aa5be3b78d 38 }
MiniTLS 0:35aa5be3b78d 39 }
MiniTLS 0:35aa5be3b78d 40
MiniTLS 0:35aa5be3b78d 41 /* $Source: /cvs/libtom/tomsfastmath/src/addsub/fp_add.c,v $ */
MiniTLS 0:35aa5be3b78d 42 /* $Revision: 1.1 $ */
MiniTLS 0:35aa5be3b78d 43 /* $Date: 2006/12/31 21:25:53 $ */