Lines Matching refs:from1

179 #define ADD(to, from1, from2, carry)  /* assume carry <= 1 */           \  argument
182 dec1 a=(from1)+(from2)+(carry); \
189 #define ADD2(to, from1, from2, carry) \ argument
192 dec2 a=((dec2)(from1))+(from2)+(carry); \
203 #define SUB(to, from1, from2, carry) /* to=from1-from2 */ \ argument
206 dec1 a=(from1)-(from2)-(carry); \
212 #define SUB2(to, from1, from2, carry) /* to=from1-from2 */ \ argument
215 dec1 a=(from1)-(from2)-(carry); \
1879 int decimal_result_size(decimal_t *from1, decimal_t *from2, char op, int param) in decimal_result_size() argument
1883 return ROUND_UP(MY_MAX(from1->intg, from2->intg)) + in decimal_result_size()
1884 ROUND_UP(MY_MAX(from1->frac, from2->frac)); in decimal_result_size()
1886 return ROUND_UP(MY_MAX(from1->intg, from2->intg)+1) + in decimal_result_size()
1887 ROUND_UP(MY_MAX(from1->frac, from2->frac)); in decimal_result_size()
1889 return ROUND_UP(from1->intg+from2->intg)+ in decimal_result_size()
1890 ROUND_UP(from1->frac)+ROUND_UP(from2->frac); in decimal_result_size()
1892 return ROUND_UP(from1->intg+from2->intg+1+from1->frac+from2->frac+param); in decimal_result_size()
1898 static int do_add(const decimal_t *from1, const decimal_t *from2, decimal_t *to) in do_add() argument
1900 int intg1=ROUND_UP(from1->intg), intg2=ROUND_UP(from2->intg), in do_add()
1901 frac1=ROUND_UP(from1->frac), frac2=ROUND_UP(from2->frac), in do_add()
1908 x=intg1 > intg2 ? from1->buf[0] : in do_add()
1910 from1->buf[0] + from2->buf[0] ; in do_add()
1926 to->sign=from1->sign; in do_add()
1927 to->frac= MY_MAX(from1->frac, from2->frac); in do_add()
1941 buf1=from1->buf+intg1+frac1; in do_add()
1942 stop=from1->buf+intg1+frac2; in do_add()
1944 stop2=from1->buf+(intg1 > intg2 ? intg1-intg2 : 0); in do_add()
1950 buf2=from1->buf+intg1+frac1; in do_add()
1964 buf1= intg1 > intg2 ? ((stop=from1->buf)+intg1-intg2) : in do_add()
1980 static int do_sub(const decimal_t *from1, const decimal_t *from2, decimal_t *to) in do_sub() argument
1982 int intg1=ROUND_UP(from1->intg), intg2=ROUND_UP(from2->intg), in do_sub()
1983 frac1=ROUND_UP(from1->frac), frac2=ROUND_UP(from2->frac); in do_sub()
1988 start1=buf1=from1->buf; stop1=buf1+intg1; in do_sub()
2040 return carry == from1->sign ? 1 : -1; in do_sub()
2044 to->sign=from1->sign; in do_sub()
2049 swap_variables(const decimal_t *, from1, from2); in do_sub()
2059 to->frac= MY_MAX(from1->frac, from2->frac); in do_sub()
2122 int decimal_add(const decimal_t *from1, const decimal_t *from2, decimal_t *to) in decimal_add() argument
2124 if (likely(from1->sign == from2->sign)) in decimal_add()
2125 return do_add(from1, from2, to); in decimal_add()
2126 return do_sub(from1, from2, to); in decimal_add()
2129 int decimal_sub(const decimal_t *from1, const decimal_t *from2, decimal_t *to) in decimal_sub() argument
2131 if (likely(from1->sign == from2->sign)) in decimal_sub()
2132 return do_sub(from1, from2, to); in decimal_sub()
2133 return do_add(from1, from2, to); in decimal_sub()
2136 int decimal_cmp(const decimal_t *from1, const decimal_t *from2) in decimal_cmp() argument
2138 if (likely(from1->sign == from2->sign)) in decimal_cmp()
2139 return do_sub(from1, from2, 0); in decimal_cmp()
2140 return from1->sign > from2->sign ? -1 : 1; in decimal_cmp()
2174 int decimal_mul(const decimal_t *from1, const decimal_t *from2, decimal_t *to) in decimal_mul() argument
2176 int intg1=ROUND_UP(from1->intg), intg2=ROUND_UP(from2->intg), in decimal_mul()
2177 frac1=ROUND_UP(from1->frac), frac2=ROUND_UP(from2->frac), in decimal_mul()
2178 intg0=ROUND_UP(from1->intg+from2->intg), in decimal_mul()
2180 dec1 *buf1=from1->buf+intg1, *buf2=from2->buf+intg2, *buf0, in decimal_mul()
2188 to->sign= from1->sign != from2->sign; in decimal_mul()
2189 to->frac= from1->frac + from2->frac; /* store size in digits */ in decimal_mul()
2299 static int do_div_mod(const decimal_t *from1, const decimal_t *from2, in do_div_mod() argument
2302 int frac1=ROUND_UP(from1->frac)*DIG_PER_DEC1, prec1=from1->intg+frac1, in do_div_mod()
2305 dec1 *buf0, *buf1=from1->buf, *buf2=from2->buf, *tmp1, in do_div_mod()
2343 if ((scale_incr-= frac1 - from1->frac + frac2 - from2->frac) < 0) in do_div_mod()
2361 to->sign=from1->sign; in do_div_mod()
2362 to->frac= MY_MAX(from1->frac, from2->frac); in do_div_mod()
2379 to->sign=from1->sign != from2->sign; in do_div_mod()
2568 decimal_div(const decimal_t *from1, const decimal_t *from2, decimal_t *to, in decimal_div() argument
2571 return do_div_mod(from1, from2, to, 0, scale_incr); in decimal_div()
2601 int decimal_mod(const decimal_t *from1, const decimal_t *from2, decimal_t *to) in decimal_mod() argument
2603 return do_div_mod(from1, from2, 0, to, 0); in decimal_mod()