lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 70ead9b 4/6: Eradicate disused "surrender cha


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 70ead9b 4/6: Eradicate disused "surrender charge specified amount" concept [355]
Date: Tue, 30 Oct 2018 18:21:42 -0400 (EDT)

branch: master
commit 70ead9b8fa94e2b4c513d2d1c20377ccde4e736b
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Eradicate disused "surrender charge specified amount" concept [355]
---
 account_value.hpp |  6 ------
 ihs_acctval.cpp   |  4 ----
 ihs_avmly.cpp     | 34 ----------------------------------
 3 files changed, 44 deletions(-)

diff --git a/account_value.hpp b/account_value.hpp
index 03868df..4e3631f 100644
--- a/account_value.hpp
+++ b/account_value.hpp
@@ -282,7 +282,6 @@ class LMI_SO AccountValue
     double minimum_specified_amount(bool issuing_now, bool term_rider) const;
     void   ChangeSpecAmtBy         (double delta);
     void   ChangeSupplAmtBy        (double delta);
-    void   ChangeSurrChgSpecAmtBy  (double delta);
     double SurrChg                 ();
 
     double MinInitDumpin() const;
@@ -555,11 +554,6 @@ class LMI_SO AccountValue
     bool        haswp;    // Antediluvian.
     bool        hasadb;   // Antediluvian.
 
-    // The spec amt used as the basis for surrender charges is not
-    // always the current spec amt, but rather the original spec amt
-    // adjusted for withdrawals only.
-    double  SurrChgSpecAmt;
-
     double  ActualLoan;
     double  RequestedLoan;
     double  RequestedWD;
diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index 14b596f..16fe9c8 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -1007,10 +1007,6 @@ void AccountValue::InitializeSpecAmt()
         InvariantValues().InitMinPrem        = MinInitPrem();
         }
 
-    SurrChgSpecAmt = InvariantValues().SpecAmt[0];
-    LMI_ASSERT(0.0 <= SurrChgSpecAmt);
-    // TODO ?? SurrChgSpecAmt is not used yet.
-
     // TODO ?? Perform specamt strategy here?
 }
 
diff --git a/ihs_avmly.cpp b/ihs_avmly.cpp
index 2cf7090..1bf9c25 100644
--- a/ihs_avmly.cpp
+++ b/ihs_avmly.cpp
@@ -794,27 +794,6 @@ void AccountValue::ChangeSupplAmtBy(double delta)
 }
 
 //============================================================================
-// The spec amt used as the basis for surrender charges is not
-// always the current spec amt, but rather the original spec amt
-// adjusted for withdrawals only. This function simply decreases
-// this special spec amt by the same amount as the normal spec amt
-// decreases, and only in the event of a withdrawal, which is
-// constrained to be nonnegative by constraining the additive
-// adjustment to be nonpositive. Other approaches are possible.
-void AccountValue::ChangeSurrChgSpecAmtBy(double delta)
-{
-    LMI_ASSERT(delta <= 0.0);
-    SurrChgSpecAmt += delta;
-    SurrChgSpecAmt = std::max(0.0, SurrChgSpecAmt);
-    // TODO ?? 'SurrChgSpecAmt' isn't used yet.
-
-    // SOMEDAY !! Recalculation of GDB premium is not yet implemented.
-    // It is fairly common to let withdrawals affect it. If this is
-    // the best place to do that, then perhaps this function should
-    // be renamed, since it wouldn't merely change 'SurrChgSpecAmt'.
-}
-
-//============================================================================
 void AccountValue::InitializeMonth()
 {
     GptForceout       = 0.0;
@@ -2488,7 +2467,6 @@ void AccountValue::TxTakeWD()
     Dcv -= GrossWD;
     Dcv = std::max(0.0, Dcv);
 
-    double original_specamt = ActualSpecAmt;
     switch(YearsDBOpt)
         {
         // If DBOpt 1, SA = std::min(SA, DB - WD); if opt 2, no change.
@@ -2514,10 +2492,6 @@ void AccountValue::TxTakeWD()
                 //      min AV after WD: debt +
                 //          months remaining to end of modal term *
                 //          most recent mly deds
-                if(original_specamt != ActualSpecAmt)
-                    {
-                    ChangeSurrChgSpecAmtBy(-GrossWD);
-                    }
                 }
             else
                 {
@@ -2530,10 +2504,6 @@ void AccountValue::TxTakeWD()
             if(WDCanDecrSADBO2)
                 {
                 ChangeSpecAmtBy(-GrossWD);
-                if(original_specamt != ActualSpecAmt)
-                    {
-                    ChangeSurrChgSpecAmtBy(-GrossWD);
-                    }
                 }
             else
                 {
@@ -2546,10 +2516,6 @@ void AccountValue::TxTakeWD()
             if(WDCanDecrSADBO3)
                 {
                 ChangeSpecAmtBy(-GrossWD);
-                if(original_specamt != ActualSpecAmt)
-                    {
-                    ChangeSurrChgSpecAmtBy(-GrossWD);
-                    }
                 }
             else
                 {



reply via email to

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