[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5735] Fix defect introduced 20120821T0957Z
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5735] Fix defect introduced 20120821T0957Z |
Date: |
Wed, 12 Jun 2013 11:26:24 +0000 |
Revision: 5735
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5735
Author: chicares
Date: 2013-06-12 11:26:23 +0000 (Wed, 12 Jun 2013)
Log Message:
-----------
Fix defect introduced 20120821T0957Z
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/ihs_acctval.cpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2013-05-19 11:31:27 UTC (rev 5734)
+++ lmi/trunk/ChangeLog 2013-06-12 11:26:23 UTC (rev 5735)
@@ -32364,3 +32364,14 @@
ihs_basicval.cpp
Refactor for concinnity.
+20130612T1126Z <address@hidden> [541]
+
+ ihs_acctval.cpp
+Fix defect introduced 20120821T0957Z. Pass lowest death benefit to
+7702A routines instead of complete specamt vector. Only the lowest
+death benefit is relevant anyway. For one particular inforce case,
+soon-to-be-replaced 7702A code had treated an impending decrease as
+having already occurred, causing an assertion to fire when it did
+subsequently occur. Prior to 20120821T0957Z, this had not happened
+because historical and future values had been separate inputs.
+
Modified: lmi/trunk/ihs_acctval.cpp
===================================================================
--- lmi/trunk/ihs_acctval.cpp 2013-05-19 11:31:27 UTC (rev 5734)
+++ lmi/trunk/ihs_acctval.cpp 2013-06-12 11:26:23 UTC (rev 5735)
@@ -522,25 +522,15 @@
{
int length_7702a = std::min(7, BasicValues::GetLength());
// Premium history starts at contract year zero.
+ // TAXATION !! nonstd::copy_n() is used nowhere else, and
+ // may be expunged if this line becomes unnecessary.
nonstd::copy_n
(yare_input_.Inforce7702AAmountsPaidHistory.begin()
,length_7702a
,std::back_inserter(pmts_7702a)
);
- // Specamt history starts at policy year zero and must be offset.
- // TAXATION !! That's wrong, because contract-year history cannot
- // generally be obtained from policy-year history by any integral
- // offset; but doesn't LDB provide all the information required,
- // if only it were used in preference to this?
- int const offset = duration_ceiling
- (yare_input_.EffectiveDate
- ,yare_input_.LastMaterialChangeDate
- );
- nonstd::copy_n
- (yare_input_.SpecifiedAmount.begin() + offset
- ,length_7702a
- ,std::back_inserter(bfts_7702a)
- );
+ // Specamt history is irrelevant except for LDB.
+ bfts_7702a = std::vector<double>(length_7702a,
yare_input_.InforceLeastDeathBenefit);
}
double lowest_death_benefit = yare_input_.InforceLeastDeathBenefit;
if(0 == InforceYear && 0 == InforceMonth)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5735] Fix defect introduced 20120821T0957Z,
Greg Chicares <=