lmi-commits
[Top][All Lists]
Advanced

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

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


From: Greg Chicares
Subject: [lmi-commits] [5001] Fix defect introduced 20050114T1947Z
Date: Mon, 21 Jun 2010 20:50:22 +0000

Revision: 5001
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5001
Author:   chicares
Date:     2010-06-21 20:50:21 +0000 (Mon, 21 Jun 2010)
Log Message:
-----------
Fix defect introduced 20050114T1947Z

Modified Paths:
--------------
    lmi/trunk/ihs_irc7702a.cpp

Modified: lmi/trunk/ihs_irc7702a.cpp
===================================================================
--- lmi/trunk/ihs_irc7702a.cpp  2010-06-21 17:21:16 UTC (rev 5000)
+++ lmi/trunk/ihs_irc7702a.cpp  2010-06-21 20:50:21 UTC (rev 5001)
@@ -294,11 +294,14 @@
     AssumedBft      = a_LowestBft; // TODO ?? Is this needed? Is it not always 
Bfts[0]?
     LowestBft       = a_LowestBft;
 
-    // This is wrong, because we don't know whether the last MC
-    // occurred before or after the anniversary:
-    unsigned int duration_of_last_mc = PolicyYear - a_ContractYear;
-    HOPEFULLY(duration_of_last_mc < SevenPPRateVec.size());
-    duration_of_last_mc = std::max(0U, duration_of_last_mc);
+    // For now, make do with the data available. Ultimately, pass
+    // duration of last material change as an argument.
+    double const z = std::floor
+        ( (    PolicyYear +     PolicyMonth / 12.0)
+        - (a_ContractYear + a_ContractMonth / 12.0)
+        );
+    unsigned int const duration_of_last_mc = static_cast<unsigned int>(z);
+    LMI_ASSERT(duration_of_last_mc < SevenPPRateVec.size());
     Saved7PPRate    = SevenPPRateVec[duration_of_last_mc];
     state_.B2_deduced_px7_rate = SevenPPRateVec[duration_of_last_mc];
     SavedNecPrem    = 0.0;




reply via email to

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