Lines Matching refs:from2

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()
1909 intg2 > intg1 ? from2->buf[0] : in do_add()
1910 from1->buf[0] + from2->buf[0] ; in do_add()
1927 to->frac= MY_MAX(from1->frac, from2->frac); in do_add()
1943 buf2=from2->buf+intg2+frac2; in do_add()
1948 buf1=from2->buf+intg2+frac2; in do_add()
1949 stop=from2->buf+intg2+frac1; in do_add()
1951 stop2=from2->buf+(intg2 > intg1 ? intg2-intg1 : 0); in do_add()
1965 ((stop=from2->buf)+intg2-intg1) ; 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()
1989 start2=buf2=from2->buf; stop2=buf2+intg2; 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
2303 frac2=ROUND_UP(from2->frac)*DIG_PER_DEC1, prec2=from2->intg+frac2, 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()
2362 to->frac= MY_MAX(from1->frac, from2->frac); in do_div_mod()
2379 to->sign=from1->sign != from2->sign; in do_div_mod()
2527 DBUG_ASSERT(intg0 <= ROUND_UP(from2->intg)); in do_div_mod()
2529 to->intg= MY_MIN(intg0 * DIG_PER_DEC1, from2->intg); 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()