lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 6a54fd9 09/10: Never read 7702 or 7702A speca


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 6a54fd9 09/10: Never read 7702 or 7702A specamt directly from LedgerInvariant
Date: Fri, 4 Sep 2020 21:16:10 -0400 (EDT)

branch: master
commit 6a54fd908a827a37db3e1a45a23506486038bc1d
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Never read 7702 or 7702A specamt directly from LedgerInvariant
    
    Always obtain 7702 and 7702A specamt from recently-added accessors,
    at least in cases that already do the right thing. In other cases,
    marked "TAXATION", doing the right thing might produce regressions,
    which are avoided at this time.
---
 ihs_acctval.cpp  | 10 ++--------
 ihs_avstrtgy.cpp | 20 ++++----------------
 2 files changed, 6 insertions(+), 24 deletions(-)

diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index 7c71d51..93f3f7a 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -409,10 +409,7 @@ void AccountValue::InitializeLife(mcenum_run_basis a_Basis)
         ,mce_annual
         ,InvariantValues().SpecAmt[0]
         );
-    double sa =
-                             InvariantValues().SpecAmt    [0]
-        + (TermIsDbFor7702 ? InvariantValues().TermSpecAmt[0] : 0.0)
-        ;
+    double sa = specamt_for_7702(0);
 
     // Iff partial mortality is used, save yearly values in a vector
     // for use elsewhere in this class, and store yearly inforce lives
@@ -494,10 +491,7 @@ void AccountValue::InitializeLife(mcenum_run_basis a_Basis)
     if(yare_input_.EffectiveDate == yare_input_.InforceAsOfDate)
         {
         // No need to initialize 'pmts_7702a' in this case.
-        bfts_7702a.push_back
-            (                     InvariantValues().SpecAmt    [0]
-            + (TermIsDbFor7702A ? InvariantValues().TermSpecAmt[0] : 0.0)
-            );
+        bfts_7702a.push_back(specamt_for_7702A(0));
         }
     else
         {
diff --git a/ihs_avstrtgy.cpp b/ihs_avstrtgy.cpp
index a92d084..2196b74 100644
--- a/ihs_avstrtgy.cpp
+++ b/ihs_avstrtgy.cpp
@@ -271,34 +271,22 @@ double AccountValue::DoPerformPmtStrategy
             }
         case mce_pmt_mep:
             {
-            double sa =
-                                      InvariantValues().SpecAmt    [0]
-                + (TermIsDbFor7702A ? InvariantValues().TermSpecAmt[0] : 0.0)
-                ;
+            double sa = specamt_for_7702A(0);
             return GetModalPremMaxNonMec(0, a_InitialMode, sa);
             }
         case mce_pmt_glp:
             {
-            double sa =
-                                     InvariantValues().SpecAmt    [0]
-                + (TermIsDbFor7702 ? InvariantValues().TermSpecAmt[0] : 0.0)
-                ;
+            double sa = specamt_for_7702(0);
             return GetModalPremGLP(0, a_InitialMode, sa, sa);
             }
         case mce_pmt_gsp:
             {
-            double sa =
-                                     InvariantValues().SpecAmt    [0]
-                + (TermIsDbFor7702 ? InvariantValues().TermSpecAmt[0] : 0.0)
-                ;
+            double sa = specamt_for_7702(0);
             return GetModalPremGSP(0, a_InitialMode, sa, sa);
             }
         case mce_pmt_corridor:
             {
-            double sa =
-                                     InvariantValues().SpecAmt    [0]
-                + (TermIsDbFor7702 ? InvariantValues().TermSpecAmt[0] : 0.0)
-                ;
+            double sa = specamt_for_7702(0);
             return GetModalPremCorridor(0, a_InitialMode, sa);
             }
         case mce_pmt_table:



reply via email to

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