[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master c08987a 1/4: Resolve a marked defect (which w
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master c08987a 1/4: Resolve a marked defect (which was spurious) [360] |
Date: |
Tue, 30 Oct 2018 11:05:58 -0400 (EDT) |
branch: master
commit c08987a71c5a21f950a9049b88caf71b10cdbe28
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Resolve a marked defect (which was spurious) [360]
---
ihs_acctval.cpp | 1 -
ihs_avmly.cpp | 4 +++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index eb0f4eb..d7c1f09 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -1278,7 +1278,6 @@ double AccountValue::SurrChg()
// negative base amounts, which would result in surrender charge
// components having an unexpected sign.
-// LMI_ASSERT(0.0 <= CumPmts); // TODO ?? Fails on a few test cases: should
it?
LMI_ASSERT(0.0 <= InvariantValues().SpecAmt[0]);
return
diff --git a/ihs_avmly.cpp b/ihs_avmly.cpp
index dbbe292..d047cd2 100644
--- a/ihs_avmly.cpp
+++ b/ihs_avmly.cpp
@@ -1610,7 +1610,9 @@ void AccountValue::TxSetDeathBft()
break;
case mce_rop:
{
- // SA + sum of premiums less withdrawals, but not < SA.
+ // SA + sum of premiums less withdrawals, but not < SA;
+ // i.e., ignore 'CumPmts' if it is less than zero, as it
+ // easily can be, e.g., if WDs are not limited to basis.
DBIgnoringCorr = ActualSpecAmt + std::max(0.0, CumPmts);
DB7702A = ActualSpecAmt + std::max(0.0, CumPmts);
}