lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5361] Fix defect introduced 20050114T1947Z


From: Greg Chicares
Subject: [lmi-commits] [5361] Fix defect introduced 20050114T1947Z
Date: Sat, 14 Jan 2012 02:51:27 +0000

Revision: 5361
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5361
Author:   chicares
Date:     2012-01-14 02:51:27 +0000 (Sat, 14 Jan 2012)
Log Message:
-----------
Fix defect introduced 20050114T1947Z

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/ihs_irc7702.cpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2012-01-14 01:26:24 UTC (rev 5360)
+++ lmi/trunk/ChangeLog 2012-01-14 02:51:27 UTC (rev 5361)
@@ -29428,3 +29428,27 @@
 the lmi epoch: initialize inforce data not to a constant zero, but
 instead from input values.
 
+20120113T1426Z <address@hidden> [588]
+
+  ihs_avdebug.cpp
+Remove needless "Is material change" field. If there is a material
+change, then the seven-pay premium almost certainly changes.
+
+20120113T2236Z <address@hidden> [588]
+
+  ihs_avdebug.cpp
+Rename and move the 7702A "amounts paid" field.
+
+20120114T0126Z <address@hidden> [588]
+
+  ihs_avdebug.cpp
+  ihs_irc7702.cpp
+  ihs_irc7702.hpp
+Reorder and augment GPT fields; don't round them in monthly trace.
+
+20120114T0251Z <address@hidden> [586]
+
+  ihs_irc7702.cpp
+Fix defect introduced 20050114T1947Z, from an original file predating
+the lmi epoch: don't override inforce input values.
+

Modified: lmi/trunk/ihs_irc7702.cpp
===================================================================
--- lmi/trunk/ihs_irc7702.cpp   2012-01-14 01:26:24 UTC (rev 5360)
+++ lmi/trunk/ihs_irc7702.cpp   2012-01-14 02:51:27 UTC (rev 5361)
@@ -731,22 +731,42 @@
 // correct.
     LeastBftAmtEver     = PresentSpecAmt;
     TargetPremium       = a_TargetPremium;
-    PresentGLP = CalculateGLP
-        (0                  // TODO ?? What if inforce?
-        ,PresentBftAmt
-        ,PresentSpecAmt
-        ,LeastBftAmtEver
-        ,PresentDBOpt
-        );
-    PriorGLP = PresentGLP;  // TODO ?? Not if inforce case.
 
-    PresentGSP = CalculateGSP
-        (0
-        ,PresentBftAmt
-        ,PresentSpecAmt
-        ,LeastBftAmtEver
-        );
-    PriorGSP = PresentGSP;  // TODO ?? Not if inforce case.
+    if(0 == InforceYear && 0 == InforceMonth)
+        {
+        PresentGLP = CalculateGLP
+            (0
+            ,PresentBftAmt
+            ,PresentSpecAmt
+            ,LeastBftAmtEver
+            ,PresentDBOpt
+            );
+        PriorGLP = PresentGLP;
+        PresentGSP = CalculateGSP
+            (0
+            ,PresentBftAmt
+            ,PresentSpecAmt
+            ,LeastBftAmtEver
+            );
+        PriorGSP = PresentGSP;
+        }
+    else
+        {
+        // TODO ?? None of this should be necessary, but this function
+        // is called for every basis, though it probably should be
+        // called only once, for basis 'mce_run_gen_curr_sep_full'.
+        // For other bases, many GPT data are not updated; e.g.,
+        // GLP isn't changed, so cumulative GLP isn't correct even
+        // though it's correctly initialized here. If this block can
+        // be expunged, then the 'Inforce*' members may be unneeded.
+        PresentGLP = InforceGLP;
+        PriorGLP   = PresentGLP;
+        PresentGSP = InforceGSP;
+        PriorGSP   = PresentGSP;
+        CumGLP     = InforceCumGLP;
+        GptLimit   = std::max(CumGLP, PresentGSP);
+        CumPmts    = InforceCumPremsPaid;
+        }
 }
 
 //============================================================================




reply via email to

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