mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
re-order math to make overflow less likely
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@10132 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
fdbd2da2ab
commit
7a7fee132e
@ -248,7 +248,7 @@ xaccScrubSubSplitPrice (Split *split, int maxmult, int maxamtscu)
|
||||
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 @@ xaccScrubSubSplitPrice (Split *split, int maxmult, int maxamtscu)
|
||||
|
||||
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))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user