[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [6201] Offer strategies for supplemental specified amount
From: |
Greg Chicares |
Subject: |
[lmi-commits] [6201] Offer strategies for supplemental specified amount |
Date: |
Sun, 31 May 2015 18:37:15 +0000 |
Revision: 6201
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6201
Author: chicares
Date: 2015-05-31 18:37:14 +0000 (Sun, 31 May 2015)
Log Message:
-----------
Offer strategies for supplemental specified amount
Modified Paths:
--------------
lmi/trunk/account_value.hpp
lmi/trunk/ihs_acctval.cpp
lmi/trunk/ihs_avstrtgy.cpp
Modified: lmi/trunk/account_value.hpp
===================================================================
--- lmi/trunk/account_value.hpp 2015-05-31 18:03:40 UTC (rev 6200)
+++ lmi/trunk/account_value.hpp 2015-05-31 18:37:14 UTC (rev 6201)
@@ -211,6 +211,7 @@
double GetPartMortQ (int year) const;
void PerformSpecAmtStrategy();
+ void PerformSupplAmtStrategy();
double CalculateSpecAmtFromStrategy
(int actual_year
,int reference_year
Modified: lmi/trunk/ihs_acctval.cpp
===================================================================
--- lmi/trunk/ihs_acctval.cpp 2015-05-31 18:03:40 UTC (rev 6200)
+++ lmi/trunk/ihs_acctval.cpp 2015-05-31 18:37:14 UTC (rev 6201)
@@ -412,6 +412,7 @@
// This is a crock to suppress an observed symptom.
InvariantValues().Init(this);
PerformSpecAmtStrategy();
+ PerformSupplAmtStrategy();
}
// TODO ?? It seems wrong to initialize the ledger values here.
Modified: lmi/trunk/ihs_avstrtgy.cpp
===================================================================
--- lmi/trunk/ihs_avstrtgy.cpp 2015-05-31 18:03:40 UTC (rev 6200)
+++ lmi/trunk/ihs_avstrtgy.cpp 2015-05-31 18:37:14 UTC (rev 6201)
@@ -176,6 +176,18 @@
}
}
+void AccountValue::PerformSupplAmtStrategy()
+{
+ for(int j = 0; j < BasicValues::Length; ++j)
+ {
+ double m = 0.0; // No minimum other than zero is defined.
+ double explicit_value = DeathBfts_->supplamt()[j];
+ mcenum_sa_strategy strategy =
yare_input_.SupplementalAmountStrategy[j];
+ double z = CalculateSpecAmtFromStrategy(j, 0, explicit_value,
strategy);
+ DeathBfts_->set_supplamt(round_specamt()(std::max(m, z)), j, 1 + j);
+ }
+}
+
/// Set payment according to selected strategy in a non-solve year.
double AccountValue::DoPerformPmtStrategy
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [6201] Offer strategies for supplemental specified amount,
Greg Chicares <=