[Gnucash-changes] re-order math to make overflow less likely
Linas Vepstas
linas at cvs.gnucash.org
Fri Jul 2 00:05:25 EDT 2004
Log Message:
-----------
re-order math to make overflow less likely
Modified Files:
--------------
gnucash/src/engine:
Scrub2.c
Revision Data
-------------
Index: Scrub2.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/engine/Scrub2.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -Lsrc/engine/Scrub2.c -Lsrc/engine/Scrub2.c -u -r1.34 -r1.35
--- src/engine/Scrub2.c
+++ src/engine/Scrub2.c
@@ -248,7 +248,7 @@
Split *s = node->data;
Transaction *txn = s->parent;
gnc_numeric dst_amt, dst_val, target_val;
- gnc_numeric delta;
+ gnc_numeric frac, delta;
int scu;
/* Skip the reference split */
@@ -258,9 +258,9 @@
dst_amt = xaccSplitGetAmount (s);
dst_val = xaccSplitGetValue (s);
- target_val = gnc_numeric_mul (dst_amt, src_val,
+ frac = gnc_numeric_div (dst_amt, src_amt,
GNC_DENOM_AUTO, GNC_HOW_DENOM_REDUCE);
- target_val = gnc_numeric_div (target_val, src_amt,
+ target_val = gnc_numeric_mul (frac, src_val,
scu, GNC_HOW_DENOM_EXACT|GNC_HOW_RND_ROUND);
if (gnc_numeric_check (target_val))
{
More information about the gnucash-changes
mailing list