[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master db006a2: Add 'InforceAsOfDate' to invariant l
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master db006a2: Add 'InforceAsOfDate' to invariant ledger |
Date: |
Fri, 14 Oct 2016 00:12:57 +0000 (UTC) |
branch: master
commit db006a2ae46aa7517d21c7b77aba59ccbc2e8b30
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>
Add 'InforceAsOfDate' to invariant ledger
Goal: to add this field to the group roster (very soon).
It is represented as both string and JDN (as are other dates).
Of course, adding a field affects regression tests. To validate:
cd /opt/lmi/touchstone
for z in *; do diff -q -I '^InforceAsOfDateJdn' $z ../test/$z ; done
Files md5sums and ../test/md5sums differ
---
ledger_invariant.cpp | 14 ++++++++++----
ledger_invariant.hpp | 2 ++
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/ledger_invariant.cpp b/ledger_invariant.cpp
index 1b0377e..c64137f 100644
--- a/ledger_invariant.cpp
+++ b/ledger_invariant.cpp
@@ -184,6 +184,7 @@ void LedgerInvariant::Alloc(int len)
OtherScalars ["Has1035ExchCharge" ] = &Has1035ExchCharge ;
OtherScalars ["EffDateJdn" ] = &EffDateJdn ;
OtherScalars ["DateOfBirthJdn" ] = &DateOfBirthJdn ;
+ OtherScalars ["InforceAsOfDateJdn" ] = &InforceAsOfDateJdn ;
OtherScalars ["SplitFundAllocation" ] = &SplitFundAllocation ;
OtherScalars ["GenAcctAllocation" ] = &GenAcctAllocation ;
OtherScalars ["SupplementalReport" ] = &SupplementalReport ;
@@ -401,6 +402,7 @@ void LedgerInvariant::Copy(LedgerInvariant const& obj)
// Scalars of type not compatible with double.
EffDate = obj.EffDate ;
DateOfBirth = obj.DateOfBirth ;
+ InforceAsOfDate = obj.InforceAsOfDate ;
InitErMode = obj.InitErMode ;
InitDBOpt = obj.InitDBOpt ;
@@ -886,10 +888,12 @@ void LedgerInvariant::Init(BasicValues* b)
UWClass = mc_str(b->yare_input_.UnderwritingClass);
SubstandardTable = mc_str(b->yare_input_.SubstandardTable);
- EffDate =
calendar_date(b->yare_input_.EffectiveDate).str();
- EffDateJdn =
calendar_date(b->yare_input_.EffectiveDate).julian_day_number();
- DateOfBirth = calendar_date(b->yare_input_.DateOfBirth).str();
- DateOfBirthJdn =
calendar_date(b->yare_input_.DateOfBirth).julian_day_number();
+ EffDate = calendar_date(b->yare_input_.EffectiveDate
).str();
+ EffDateJdn = calendar_date(b->yare_input_.EffectiveDate
).julian_day_number();
+ DateOfBirth = calendar_date(b->yare_input_.DateOfBirth
).str();
+ DateOfBirthJdn = calendar_date(b->yare_input_.DateOfBirth
).julian_day_number();
+ InforceAsOfDate =
calendar_date(b->yare_input_.InforceAsOfDate).str();
+ InforceAsOfDateJdn =
calendar_date(b->yare_input_.InforceAsOfDate).julian_day_number();
InitErMode = mc_str(b->Outlay_->er_premium_modes()[0]);
mcenum_dbopt const init_dbo = b->DeathBfts_->dbopt()[0];
@@ -1014,6 +1018,8 @@ LedgerInvariant& LedgerInvariant::PlusEq(LedgerInvariant
const& a_Addend)
EffDateJdn = a_Addend.EffDateJdn;
DateOfBirth = a_Addend.DateOfBirth;
DateOfBirthJdn = a_Addend.DateOfBirthJdn;
+ InforceAsOfDate = a_Addend.InforceAsOfDate;
+ InforceAsOfDateJdn = a_Addend.InforceAsOfDateJdn;
InitErMode = a_Addend.InitErMode;
InitDBOpt = a_Addend.InitDBOpt;
Age = std::min(Age, a_Addend.Age);
diff --git a/ledger_invariant.hpp b/ledger_invariant.hpp
index 1ad5fd7..6b908df 100644
--- a/ledger_invariant.hpp
+++ b/ledger_invariant.hpp
@@ -201,6 +201,7 @@ class LMI_SO LedgerInvariant
double Has1035ExchCharge;
double EffDateJdn;
double DateOfBirthJdn;
+ double InforceAsOfDateJdn;
double SplitFundAllocation;
double GenAcctAllocation;
double SupplementalReport;
@@ -384,6 +385,7 @@ class LMI_SO LedgerInvariant
// JDNs are used in UpdateCRC() and Spew().
std::string EffDate;
std::string DateOfBirth;
+ std::string InforceAsOfDate;
// Arguably enumerative members such as 'ErMode' should be of type
// std::string instead, because strings would be more useful for
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [lmi] master db006a2: Add 'InforceAsOfDate' to invariant ledger,
Greg Chicares <=