[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [6209] Exercise finer control over minimum premiums
From: |
Greg Chicares |
Subject: |
[lmi-commits] [6209] Exercise finer control over minimum premiums |
Date: |
Thu, 25 Jun 2015 04:24:42 +0000 |
Revision: 6209
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6209
Author: chicares
Date: 2015-06-25 04:24:39 +0000 (Thu, 25 Jun 2015)
Log Message:
-----------
Exercise finer control over minimum premiums
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/account_value.hpp
lmi/trunk/ihs_acctval.cpp
lmi/trunk/ihs_avstrtgy.cpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2015-06-25 04:21:24 UTC (rev 6208)
+++ lmi/trunk/ChangeLog 2015-06-25 04:24:39 UTC (rev 6209)
@@ -36336,3 +36336,23 @@
version.hpp
Designate release candidate 6206.
+20150625T0301Z <address@hidden> [511]
+
+ ihs_basicval.cpp
+Note an interesting fact.
+
+20150625T0421Z <address@hidden> [511]
+
+ dbdict.cpp
+ dbdict.hpp
+ dbnames.hpp
+ dbnames.xpp
+Add new database entities.
+
+20150625T0424Z <address@hidden> [511]
+
+ account_value.hpp
+ ihs_acctval.cpp
+ ihs_avstrtgy.cpp
+Exercise finer control over minimum premiums.
+
Modified: lmi/trunk/account_value.hpp
===================================================================
--- lmi/trunk/account_value.hpp 2015-06-25 04:21:24 UTC (rev 6208)
+++ lmi/trunk/account_value.hpp 2015-06-25 04:24:39 UTC (rev 6209)
@@ -534,6 +534,9 @@
double case_k_factor;
double ActualCoiRate;
+ bool SplitMinPrem;
+ bool UnsplitSplitMinPrem;
+
bool TermCanLapse;
bool TermRiderActive;
double ActualSpecAmt;
Modified: lmi/trunk/ihs_acctval.cpp
===================================================================
--- lmi/trunk/ihs_acctval.cpp 2015-06-25 04:21:24 UTC (rev 6208)
+++ lmi/trunk/ihs_acctval.cpp 2015-06-25 04:24:39 UTC (rev 6209)
@@ -670,6 +670,9 @@
NoLapseActive = false;
}
+ SplitMinPrem = Database_->Query(DB_SplitMinPrem);
+ UnsplitSplitMinPrem = Database_->Query(DB_UnsplitSplitMinPrem);
+
TermCanLapse = Database_->Query(DB_TermCanLapse);
TermRiderActive = true;
TermDB = 0.0;
@@ -965,7 +968,7 @@
// Most other yearly values are posted to InvariantValues() in
// FinalizeYear(), but it seems clearer to post these here where
// they're calculated along with 'MlyNoLapsePrem'.
- if(!TermIsNotRider)
+ if(!SplitMinPrem)
{
InvariantValues().ModalMinimumPremium[Year] = GetModalMinPrem
(Year
Modified: lmi/trunk/ihs_avstrtgy.cpp
===================================================================
--- lmi/trunk/ihs_avstrtgy.cpp 2015-06-25 04:21:24 UTC (rev 6208)
+++ lmi/trunk/ihs_avstrtgy.cpp 2015-06-25 04:24:39 UTC (rev 6209)
@@ -223,8 +223,15 @@
}
case mce_pmt_minimum:
{
- if(TermIsNotRider)
+ if(SplitMinPrem)
{
+ if(UnsplitSplitMinPrem)
+ {
+ return
+ GetModalPremMlyDedEe(Year, a_CurrentMode,
TermSpecAmt)
+ + GetModalPremMlyDedEr(Year, a_CurrentMode,
ActualSpecAmt)
+ ;
+ }
if(mce_solve_ee_prem == a_SolveForWhichPrem)
{
// Normally, ee mode is entered to match ee mode,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [6209] Exercise finer control over minimum premiums,
Greg Chicares <=