lmi-commits
[Top][All Lists]
Advanced

[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,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]