lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master b2e6124 1/2: Forbid 1035 exchanges that would


From: Greg Chicares
Subject: [lmi-commits] [lmi] master b2e6124 1/2: Forbid 1035 exchanges that would violate the GPT
Date: Mon, 17 May 2021 20:14:56 -0400 (EDT)

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

    Forbid 1035 exchanges that would violate the GPT
    
    As end users grow less knowledgeable and less cautious, it becomes more
    important to prevent them from illustrating something they might not
    understand.
---
 ihs_avmly.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/ihs_avmly.cpp b/ihs_avmly.cpp
index 921e7d7..b782815 100644
--- a/ihs_avmly.cpp
+++ b/ihs_avmly.cpp
@@ -549,6 +549,13 @@ void AccountValue::TxExch1035()
             // CURRENCY !! return modified value instead of altering argument
             double z = dblize(GrossPmts[Month]);
             Irc7702_->ProcessGptPmt(Year, z);
+            // If a 1035 exchange would violate the GPT, it must be
+            // declined: it is improper to bring the full amount into
+            // a new policy and then (implicitly) return some of it.
+            // 7702 !! Adding one cent to z here is bogus; premiums
+            // are inherently currency amounts, and should be tested
+            // as such.
+            LMI_ASSERT(dblize(GrossPmts[Month]) <= 0.01 + z);
             GrossPmts[Month] = round_gross_premium().c(z);
             }
         // Limit external 1035 first, then internal, as necessary to avoid



reply via email to

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