gnucash master: Fix still more overflow problems.
Mike Alexander
mta at code.gnucash.org
Sat Feb 22 17:46:14 EST 2014
Updated via https://github.com/Gnucash/gnucash/commit/d0766a6b (commit)
from https://github.com/Gnucash/gnucash/commit/6925192a (commit)
commit d0766a6bb4a9249cf6584696fae85092ec22317d
Author: Mike Alexander <mta at umich.edu>
Date: Sat Feb 22 17:43:28 2014 -0500
Fix still more overflow problems.
diff --git a/src/report/standard-reports/advanced-portfolio.scm b/src/report/standard-reports/advanced-portfolio.scm
index ac100e0..bd7b6b4 100644
--- a/src/report/standard-reports/advanced-portfolio.scm
+++ b/src/report/standard-reports/advanced-portfolio.scm
@@ -257,10 +257,10 @@
(gnc-numeric-add b-value
(gnc-numeric-mul (caar b-list)
(cdar b-list)
- GNC-DENOM-AUTO GNC-RND-ROUND)
- GNC-DENOM-AUTO GNC-RND-ROUND)
+ GNC-DENOM-AUTO GNC-DENOM-REDUCE)
+ GNC-DENOM-AUTO GNC-DENOM-REDUCE)
(gnc-numeric-add b-units
- (caar b-list) GNC-DENOM-AUTO GNC-RND-ROUND)
+ (caar b-list) GNC-DENOM-AUTO GNC-DENOM-REDUCE)
price-denom GNC-RND-ROUND)))
(append b-list
(list (cons b-units (gnc-numeric-div
@@ -281,7 +281,7 @@
(let* ((new-units (gnc-numeric-add b-units (caar b-list) units-denom GNC-RND-ROUND))
(old-val (gnc-numeric-mul (caar b-list) (cdar b-list) currency-frac GNC-RND-ROUND))
(new-val (gnc-numeric-mul old-val
- (gnc-numeric-div new-units (caar b-list) GNC-DENOM-AUTO GNC-RND-ROUND)
+ (gnc-numeric-div new-units (caar b-list) GNC-DENOM-AUTO GNC-DENOM-REDUCE)
currency-frac GNC-RND-ROUND)))
(basis-builder (cdr b-list) new-units new-val b-method currency-frac)))
((0)
@@ -300,7 +300,7 @@
(let* ((new-units (gnc-numeric-add b-units (caar rev-b-list) units-denom GNC-RND-ROUND))
(old-val (gnc-numeric-mul (caar rev-b-list) (cdar rev-b-list) currency-frac GNC-RND-ROUND))
(new-val (gnc-numeric-mul old-val
- (gnc-numeric-div new-units (caar rev-b-list) GNC-DENOM-AUTO GNC-RND-ROUND)
+ (gnc-numeric-div new-units (caar rev-b-list) GNC-DENOM-AUTO GNC-DENOM-REDUCE)
currency-frac GNC-RND-ROUND)))
(basis-builder (reverse (cdr rev-b-list)) new-units new-val b-method currency-frac)
))
@@ -324,12 +324,12 @@
((and (gnc-numeric-zero-p b-value)
(not (gnc-numeric-zero-p b-units)))
(let* ((current-units (units-basis b-list))
- (units-ratio (gnc-numeric-div (gnc-numeric-add b-units current-units GNC-DENOM-AUTO GNC-RND-ROUND)
- current-units GNC-DENOM-AUTO GNC-RND-ROUND))
+ (units-ratio (gnc-numeric-div (gnc-numeric-add b-units current-units GNC-DENOM-AUTO GNC-DENOM-REDUCE)
+ current-units GNC-DENOM-AUTO GNC-DENOM-REDUCE))
;; If the units ratio is zero the stock is worthless and the value should be zero too
(value-ratio (if (gnc-numeric-zero-p units-ratio)
(gnc-numeric-zero)
- (gnc-numeric-div (gnc:make-gnc-numeric 1 1) units-ratio GNC-DENOM-AUTO GNC-RND-ROUND))))
+ (gnc-numeric-div (gnc:make-gnc-numeric 1 1) units-ratio GNC-DENOM-AUTO GNC-DENOM-REDUCE))))
(gnc:debug "blist is " b-list " current units is "
(gnc-numeric-to-string current-units)
@@ -344,8 +344,8 @@
((and (gnc-numeric-zero-p b-units)
(not (gnc-numeric-zero-p b-value)))
(let* ((current-value (sum-basis b-list GNC-DENOM-AUTO))
- (value-ratio (gnc-numeric-div (gnc-numeric-add b-value current-value GNC-DENOM-AUTO GNC-RND-ROUND)
- current-value GNC-DENOM-AUTO GNC-RND-ROUND)))
+ (value-ratio (gnc-numeric-div (gnc-numeric-add b-value current-value GNC-DENOM-AUTO GNC-DENOM-REDUCE)
+ current-value GNC-DENOM-AUTO GNC-DENOM-REDUCE)))
(gnc:debug "this is a spinoff")
(gnc:debug "blist is " b-list " value ratio is " (gnc-numeric-to-string value-ratio))
@@ -648,7 +648,7 @@
(if (and (not (eq? handle-brokerage-fees 'ignore-brokerage))
(gnc-numeric-positive-p trans-brokerage)
(gnc-numeric-positive-p trans-shares))
- (let* ((fee-frac (gnc-numeric-div shares-bought trans-shares GNC-DENOM-AUTO GNC-RND-ROUND))
+ (let* ((fee-frac (gnc-numeric-div shares-bought trans-shares GNC-DENOM-AUTO GNC-DENOM-REDUCE))
(fees (gnc-numeric-mul trans-brokerage fee-frac commod-currency-frac GNC-RND-ROUND)))
(set! trans-bought (gnc-numeric-add trans-bought fees commod-currency-frac GNC-RND-ROUND))))
@@ -725,7 +725,7 @@
(orig-basis (sum-basis basis-list currency-frac))
;; proportion of the fees attributable to this split
(fee-ratio (gnc-numeric-div (gnc-numeric-abs split-units) trans-shares
- GNC-DENOM-AUTO GNC-RND-ROUND))
+ GNC-DENOM-AUTO GNC-DENOM-REDUCE))
;; Fees for this split in report currency
(fees-currency (gnc:gnc-monetary-amount (my-exchange-fn
(gnc:make-gnc-monetary commod-currency
Summary of changes:
src/report/standard-reports/advanced-portfolio.scm | 24 +++++++++++-----------
1 file changed, 12 insertions(+), 12 deletions(-)
More information about the gnucash-changes
mailing list