lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master e653634 08/13: Regularize whitespace


From: Greg Chicares
Subject: [lmi-commits] [lmi] master e653634 08/13: Regularize whitespace
Date: Tue, 14 Apr 2020 12:07:01 -0400 (EDT)

branch: master
commit e653634087d7083f7eaaa828bdd4499ebbc46c39
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Regularize whitespace
---
 ledger_invariant.cpp      | 256 ++++++++++-----------
 ledger_invariant.hpp      | 522 ++++++++++++++++++++---------------------
 ledger_invariant_init.cpp | 576 +++++++++++++++++++++++-----------------------
 ledger_variant.hpp        |  16 +-
 4 files changed, 685 insertions(+), 685 deletions(-)

diff --git a/ledger_invariant.cpp b/ledger_invariant.cpp
index 2746076..de0e048 100644
--- a/ledger_invariant.cpp
+++ b/ledger_invariant.cpp
@@ -77,7 +77,7 @@ LedgerInvariant::~LedgerInvariant()
 //============================================================================
 void LedgerInvariant::Alloc(int len)
 {
-    Length  = len;
+    Length = len;
 
     // BOY vectors.
     BegYearVectors  ["TgtPrem"               ] = &TgtPrem                ;
@@ -405,9 +405,9 @@ void LedgerInvariant::Alloc(int len)
     // be part of the maps populated above. We can reserve space for
     // such vectors, though, if we know what their lengths will be.
 
-    DBOpt               .reserve(Length);
-    EeMode              .reserve(Length);
-    ErMode              .reserve(Length);
+    DBOpt        .reserve(Length);
+    EeMode       .reserve(Length);
+    ErMode       .reserve(Length);
 
     // Vectors of length other than 'Length' can't be part of the maps
     // populated above, but we can reserve space for them here if we
@@ -420,7 +420,7 @@ void LedgerInvariant::Alloc(int len)
     // have zeros, so that adding each cell to it produces the
     // correct total. For each actual non-composite cell, it's
     // initialized correctly by the account-value class.
-    InforceLives        .assign(1 + Length, 0.0);
+    InforceLives .assign(1 + Length, 0.0);
 
     // Data excluded from the maps above must be copied explicitly in
     // Copy(), which is called by the copy ctor and assignment operator.
@@ -471,42 +471,42 @@ void LedgerInvariant::Init()
     // Zero-initialize elements of AllVectors and AllScalars.
     LedgerBase::Initialize(GetLength());
 
-    DBOpt               .assign(Length, mce_dbopt(mce_option1));
-    EeMode              .assign(Length, mce_mode(mce_annual));
-    ErMode              .assign(Length, mce_mode(mce_annual));
+    DBOpt                .assign(Length, mce_dbopt(mce_option1));
+    EeMode               .assign(Length, mce_mode(mce_annual));
+    ErMode               .assign(Length, mce_mode(mce_annual));
 
     // Nonscalable scalars.
 
-    MaleProportion      = 0;
-    NonsmokerProportion = 0;
-    Age                 = 0;
-    EndtAge             = 100;
-    NoLongerIssued      = false;
-    AllowGroupQuote     = true;
-    SurviveToExpectancy = true;
-    SurviveToYear       = true;
-    SurviveToAge        = true;
-    SurvivalMaxYear     = 0;
-    SurvivalMaxAge      = 0;
-    InforceYear         = Length;
-    InforceMonth        = 11;
-    MecYear             = Length;
-    MecMonth            = 11;
-    SpouseIssueAge      = 100;
-    IsSinglePremium     = oe_flexible_premium;
-    CurrentCoiMultiplier= 0;
-    NoLapseAlwaysActive = false;
-    NoLapseMinDur       = 100;
-    NoLapseMinAge       = 100;
-    Has1035ExchCharge   = false;
-    WriteTsvFile        = false;
-    SupplementalReport  = true;
+    MaleProportion       = 0;
+    NonsmokerProportion  = 0;
+    Age                  = 0;
+    EndtAge              = 100;
+    NoLongerIssued       = false;
+    AllowGroupQuote      = true;
+    SurviveToExpectancy  = true;
+    SurviveToYear        = true;
+    SurviveToAge         = true;
+    SurvivalMaxYear      = 0;
+    SurvivalMaxAge       = 0;
+    InforceYear          = Length;
+    InforceMonth         = 11;
+    MecYear              = Length;
+    MecMonth             = 11;
+    SpouseIssueAge       = 100;
+    IsSinglePremium      = oe_flexible_premium;
+    CurrentCoiMultiplier = 0;
+    NoLapseAlwaysActive  = false;
+    NoLapseMinDur        = 100;
+    NoLapseMinAge        = 100;
+    Has1035ExchCharge    = false;
+    WriteTsvFile         = false;
+    SupplementalReport   = true;
 
     // Private internals.
 
-    irr_precision_      = 0;
-    irr_initialized_    = false;
-    FullyInitialized    = false;
+    irr_precision_       = 0;
+    irr_initialized_     = false;
+    FullyInitialized     = false;
 }
 
 // Notes on effective date.
@@ -602,7 +602,7 @@ LedgerInvariant& LedgerInvariant::PlusEq(LedgerInvariant 
const& a_Addend)
     // discontinuity at the older life's maturity age).
     for(int j = 0; j < a_Addend.Length; ++j)
         {
-        CorridorFactor       [j] = 0.0;
+        CorridorFactor [j]  = 0.0;
         }
 
     irr_precision_ = a_Addend.irr_precision_;
@@ -618,106 +618,106 @@ LedgerInvariant& 
LedgerInvariant::PlusEq(LedgerInvariant const& a_Addend)
         if(0.0 == N[j])
             break;
         // Don't multiply InforceLives by N--it *is* N.
-        InforceLives    [j] += a_Addend.InforceLives    [j];
+        InforceLives   [j] += a_Addend.InforceLives    [j];
         }
     // InforceLives is one longer than the other vectors.
-    InforceLives        [Max] += a_Addend.InforceLives  [Max];
+    InforceLives     [Max] += a_Addend.InforceLives  [Max];
 
-    FundNumbers                   = a_Addend.FundNumbers;
-    FundNames                     = a_Addend.FundNames;
-    FundAllocs                    = a_Addend.FundAllocs;
-    FundAllocations               = a_Addend.FundAllocations;
+    FundNumbers                = a_Addend.FundNumbers;
+    FundNames                  = a_Addend.FundNames;
+    FundAllocs                 = a_Addend.FundAllocs;
+    FundAllocations            = a_Addend.FundAllocations;
 
     // Nonscalable scalars.
 
-    MaleProportion                = std::max(MaleProportion     , 
a_Addend.MaleProportion);
-    NonsmokerProportion           = std::max(NonsmokerProportion, 
a_Addend.NonsmokerProportion);
-    GuarMaxMandE                  = std::max(GuarMaxMandE       , 
a_Addend.GuarMaxMandE);
-    InitDacTaxRate                = std::max(InitDacTaxRate     , 
a_Addend.InitDacTaxRate);
-    InitPremTaxRate               = std::max(InitPremTaxRate    , 
a_Addend.InitPremTaxRate);
-    GenderDistinct                = a_Addend.GenderDistinct;
-    GenderBlended                 = a_Addend.GenderBlended;
-    SmokerDistinct                = a_Addend.SmokerDistinct;
-    SmokerBlended                 = a_Addend.SmokerBlended;
-    SubstdTable                   = a_Addend.SubstdTable;
-    Age                           = std::min(Age, a_Addend.Age);
-    RetAge                        = std::min(RetAge, a_Addend.RetAge);
-    EndtAge                       = std::max(EndtAge, a_Addend.EndtAge);
-    GroupIndivSelection           = GroupIndivSelection   || 
a_Addend.GroupIndivSelection;
-    NoLongerIssued                = NoLongerIssued        || 
a_Addend.NoLongerIssued;
-    AllowGroupQuote               = AllowGroupQuote       && 
a_Addend.AllowGroupQuote;
-    TxCallsGuarUwSubstd           = TxCallsGuarUwSubstd   || 
a_Addend.TxCallsGuarUwSubstd;
-    AllowExperienceRating         = AllowExperienceRating || 
a_Addend.AllowExperienceRating;
-    UseExperienceRating           = UseExperienceRating   || 
a_Addend.UseExperienceRating;
-    UsePartialMort                = a_Addend.UsePartialMort;
-
-    SurviveToExpectancy           = SurviveToExpectancy   && 
a_Addend.SurviveToExpectancy;
-    SurviveToYear                 = SurviveToYear         && 
a_Addend.SurviveToYear;
-    SurviveToAge                  = SurviveToAge          && 
a_Addend.SurviveToAge;
+    MaleProportion             = std::max(MaleProportion     , 
a_Addend.MaleProportion);
+    NonsmokerProportion        = std::max(NonsmokerProportion, 
a_Addend.NonsmokerProportion);
+    GuarMaxMandE               = std::max(GuarMaxMandE       , 
a_Addend.GuarMaxMandE);
+    InitDacTaxRate             = std::max(InitDacTaxRate     , 
a_Addend.InitDacTaxRate);
+    InitPremTaxRate            = std::max(InitPremTaxRate    , 
a_Addend.InitPremTaxRate);
+    GenderDistinct             = a_Addend.GenderDistinct;
+    GenderBlended              = a_Addend.GenderBlended;
+    SmokerDistinct             = a_Addend.SmokerDistinct;
+    SmokerBlended              = a_Addend.SmokerBlended;
+    SubstdTable                = a_Addend.SubstdTable;
+    Age                        = std::min(Age, a_Addend.Age);
+    RetAge                     = std::min(RetAge, a_Addend.RetAge);
+    EndtAge                    = std::max(EndtAge, a_Addend.EndtAge);
+    GroupIndivSelection        = GroupIndivSelection   || 
a_Addend.GroupIndivSelection;
+    NoLongerIssued             = NoLongerIssued        || 
a_Addend.NoLongerIssued;
+    AllowGroupQuote            = AllowGroupQuote       && 
a_Addend.AllowGroupQuote;
+    TxCallsGuarUwSubstd        = TxCallsGuarUwSubstd   || 
a_Addend.TxCallsGuarUwSubstd;
+    AllowExperienceRating      = AllowExperienceRating || 
a_Addend.AllowExperienceRating;
+    UseExperienceRating        = UseExperienceRating   || 
a_Addend.UseExperienceRating;
+    UsePartialMort             = a_Addend.UsePartialMort;
+
+    SurviveToExpectancy        = SurviveToExpectancy   && 
a_Addend.SurviveToExpectancy;
+    SurviveToYear              = SurviveToYear         && 
a_Addend.SurviveToYear;
+    SurviveToAge               = SurviveToAge          && 
a_Addend.SurviveToAge;
     LMI_ASSERT(SurviveToExpectancy + SurviveToYear + SurviveToAge <= 1);
-    SurvivalMaxYear               = std::max(SurvivalMaxYear, 
a_Addend.SurvivalMaxYear);
-    SurvivalMaxAge                = std::max(SurvivalMaxAge , 
a_Addend.SurvivalMaxAge);
+    SurvivalMaxYear            = std::max(SurvivalMaxYear, 
a_Addend.SurvivalMaxYear);
+    SurvivalMaxAge             = std::max(SurvivalMaxAge , 
a_Addend.SurvivalMaxAge);
 
-    AvgFund                       = a_Addend.AvgFund;
-    CustomFund                    = a_Addend.CustomFund;
-    IsMec                         = a_Addend.IsMec        || IsMec;
-    InforceIsMec                  = a_Addend.InforceIsMec || InforceIsMec;
+    AvgFund                    = a_Addend.AvgFund;
+    CustomFund                 = a_Addend.CustomFund;
+    IsMec                      = a_Addend.IsMec        || IsMec;
+    InforceIsMec               = a_Addend.InforceIsMec || InforceIsMec;
 
     if(InforceYear == a_Addend.InforceYear)
         {
-        InforceMonth              = std::min(InforceMonth, 
a_Addend.InforceMonth);
+        InforceMonth           = std::min(InforceMonth, a_Addend.InforceMonth);
         }
     else if(a_Addend.InforceYear < InforceYear)
         {
-        InforceMonth              = a_Addend.InforceMonth;
+        InforceMonth           = a_Addend.InforceMonth;
         }
-    InforceYear                   = std::min(InforceYear, 
a_Addend.InforceYear);
+    InforceYear                = std::min(InforceYear, a_Addend.InforceYear);
 
     if(MecYear == a_Addend.MecYear)
         {
-        MecMonth                  = std::min(MecMonth, a_Addend.MecMonth);
+        MecMonth               = std::min(MecMonth, a_Addend.MecMonth);
         }
     else if(a_Addend.MecYear < MecYear)
         {
-        MecMonth                  = a_Addend.MecMonth;
+        MecMonth               = a_Addend.MecMonth;
         }
-    MecYear                       = std::min(MecYear, a_Addend.MecYear);
-
-    HasWP                         = HasWP           || a_Addend.HasWP          
;
-    HasADD                        = HasADD          || a_Addend.HasADD         
;
-    HasTerm                       = HasTerm         || a_Addend.HasTerm        
;
-    HasSupplSpecAmt               = HasSupplSpecAmt || 
a_Addend.HasSupplSpecAmt;
-    HasChildRider                 = HasChildRider      || 
a_Addend.HasChildRider     ;
-    HasSpouseRider                = HasSpouseRider     || 
a_Addend.HasSpouseRider    ;
-    SpouseIssueAge                = std::min(SpouseIssueAge, 
a_Addend.SpouseIssueAge);
-    HasHoneymoon                  = HasHoneymoon || a_Addend.HasHoneymoon ;
-    PostHoneymoonSpread           = a_Addend.PostHoneymoonSpread          ;
-    SplitMinPrem                  = SplitMinPrem || a_Addend.SplitMinPrem ;
-    ErNotionallyPaysTerm          = ErNotionallyPaysTerm || 
a_Addend.ErNotionallyPaysTerm;
-    IsSinglePremium        = std::max(a_Addend.IsSinglePremium      , 
IsSinglePremium      );
-    MaxAnnGuarLoanSpread   = std::max(a_Addend.MaxAnnGuarLoanSpread , 
MaxAnnGuarLoanSpread );
-    MaxAnnCurrLoanDueRate  = std::max(a_Addend.MaxAnnCurrLoanDueRate, 
MaxAnnCurrLoanDueRate);
+    MecYear                    = std::min(MecYear, a_Addend.MecYear);
+
+    HasWP                      = HasWP           || a_Addend.HasWP          ;
+    HasADD                     = HasADD          || a_Addend.HasADD         ;
+    HasTerm                    = HasTerm         || a_Addend.HasTerm        ;
+    HasSupplSpecAmt            = HasSupplSpecAmt || a_Addend.HasSupplSpecAmt;
+    HasChildRider              = HasChildRider      || a_Addend.HasChildRider  
   ;
+    HasSpouseRider             = HasSpouseRider     || a_Addend.HasSpouseRider 
   ;
+    SpouseIssueAge             = std::min(SpouseIssueAge, 
a_Addend.SpouseIssueAge);
+    HasHoneymoon               = HasHoneymoon || a_Addend.HasHoneymoon ;
+    PostHoneymoonSpread        = a_Addend.PostHoneymoonSpread          ;
+    SplitMinPrem               = SplitMinPrem || a_Addend.SplitMinPrem ;
+    ErNotionallyPaysTerm       = ErNotionallyPaysTerm || 
a_Addend.ErNotionallyPaysTerm;
+    IsSinglePremium            = std::max(a_Addend.IsSinglePremium      , 
IsSinglePremium      );
+    MaxAnnGuarLoanSpread       = std::max(a_Addend.MaxAnnGuarLoanSpread , 
MaxAnnGuarLoanSpread );
+    MaxAnnCurrLoanDueRate      = std::max(a_Addend.MaxAnnCurrLoanDueRate, 
MaxAnnCurrLoanDueRate);
 
     // Logical OR because IsInforce is a taint that prevents us from
     // calculating a meaningful IRR. For one thing, we lack payment
     // history. For another, even if we had it, payments probably
     // wouldn't be equally spaced, so we'd need a more general irr
     // routine.
-    IsInforce                     = IsInforce     || a_Addend.IsInforce    ;
-
-    CurrentCoiMultiplier   = std::max(a_Addend.CurrentCoiMultiplier , 
CurrentCoiMultiplier );
-    NoLapseAlwaysActive           = a_Addend.NoLapseAlwaysActive|| 
NoLapseAlwaysActive;
-    NoLapseMinDur                 = std::min(a_Addend.NoLapseMinDur, 
NoLapseMinDur);
-    NoLapseMinAge                 = std::min(a_Addend.NoLapseMinAge, 
NoLapseMinAge);
-    Has1035ExchCharge             = a_Addend.Has1035ExchCharge  || 
Has1035ExchCharge;
-    EffDateJdn                    = a_Addend.EffDateJdn;
-    DateOfBirthJdn                = a_Addend.DateOfBirthJdn;
-    LastCoiReentryDateJdn         = a_Addend.LastCoiReentryDateJdn;
-    ListBillDateJdn               = a_Addend.ListBillDateJdn;
-    InforceAsOfDateJdn            = a_Addend.InforceAsOfDateJdn;
-    GenAcctAllocation             = a_Addend.GenAcctAllocation;
-    SplitFundAllocation           = SplitFundAllocation   || 
a_Addend.SplitFundAllocation;
-    WriteTsvFile                  = WriteTsvFile || a_Addend.WriteTsvFile ;
+    IsInforce                  = IsInforce     || a_Addend.IsInforce    ;
+
+    CurrentCoiMultiplier       = std::max(a_Addend.CurrentCoiMultiplier , 
CurrentCoiMultiplier );
+    NoLapseAlwaysActive        = a_Addend.NoLapseAlwaysActive|| 
NoLapseAlwaysActive;
+    NoLapseMinDur              = std::min(a_Addend.NoLapseMinDur, 
NoLapseMinDur);
+    NoLapseMinAge              = std::min(a_Addend.NoLapseMinAge, 
NoLapseMinAge);
+    Has1035ExchCharge          = a_Addend.Has1035ExchCharge  || 
Has1035ExchCharge;
+    EffDateJdn                 = a_Addend.EffDateJdn;
+    DateOfBirthJdn             = a_Addend.DateOfBirthJdn;
+    LastCoiReentryDateJdn      = a_Addend.LastCoiReentryDateJdn;
+    ListBillDateJdn            = a_Addend.ListBillDateJdn;
+    InforceAsOfDateJdn         = a_Addend.InforceAsOfDateJdn;
+    GenAcctAllocation          = a_Addend.GenAcctAllocation;
+    SplitFundAllocation        = SplitFundAllocation   || 
a_Addend.SplitFundAllocation;
+    WriteTsvFile               = WriteTsvFile || a_Addend.WriteTsvFile ;
 
     // The composite has a supplemental report iff every cell has one,
     // in which case it uses the same columns as the last cell. There
@@ -725,27 +725,27 @@ LedgerInvariant& LedgerInvariant::PlusEq(LedgerInvariant 
const& a_Addend)
     // union of all columns selected for any life becomes infeasible
     // when its cardinality exceeds the maximum.)
     //
-    SupplementalReport            = SupplementalReport && 
a_Addend.SupplementalReport;
+    SupplementalReport         = SupplementalReport && 
a_Addend.SupplementalReport;
     // Nonscalable scalars end.
 
     // Strings.
     //
     // Override the behavior of LedgerBase::PlusEq() for this handful
     // of strings, which would often or even necessarily vary by life.
-    ContractNumber                = "";
-    Insured1                      = "";
-    Gender                        = "";
-    Smoker                        = "";
-    UWClass                       = "";
-    SubstandardTable              = "";
+    ContractNumber             = "";
+    Insured1                   = "";
+    Gender                     = "";
+    Smoker                     = "";
+    UWClass                    = "";
+    SubstandardTable           = "";
 
     // Special-case strings.
 
-    EffDate                       = a_Addend.EffDate;
-    DateOfBirth                   = a_Addend.DateOfBirth;
-    LastCoiReentryDate            = a_Addend.LastCoiReentryDate;
-    ListBillDate                  = a_Addend.ListBillDate;
-    InforceAsOfDate               = a_Addend.InforceAsOfDate;
+    EffDate                    = a_Addend.EffDate;
+    DateOfBirth                = a_Addend.DateOfBirth;
+    LastCoiReentryDate         = a_Addend.LastCoiReentryDate;
+    ListBillDate               = a_Addend.ListBillDate;
+    InforceAsOfDate            = a_Addend.InforceAsOfDate;
 
     return *this;
 }
@@ -848,12 +848,12 @@ void LedgerInvariant::Spew(std::ostream& os) const
 {
     LedgerBase::Spew(os);
 
-    SpewVector(os, std::string("InforceLives")     ,InforceLives    );
-    SpewVector(os, std::string("DBOpt")            ,DBOpt           );
-    SpewVector(os, std::string("EeMode")           ,EeMode          );
-    SpewVector(os, std::string("ErMode")           ,ErMode          );
-    SpewVector(os, std::string("FundNumbers")      ,FundNumbers     );
-    SpewVector(os, std::string("FundNames")        ,FundNames       );
-    SpewVector(os, std::string("FundAllocs")       ,FundAllocs      );
-    SpewVector(os, std::string("FundAllocations")  ,FundAllocations );
+    SpewVector(os, std::string("InforceLives")    ,InforceLives    );
+    SpewVector(os, std::string("DBOpt")           ,DBOpt           );
+    SpewVector(os, std::string("EeMode")          ,EeMode          );
+    SpewVector(os, std::string("ErMode")          ,ErMode          );
+    SpewVector(os, std::string("FundNumbers")     ,FundNumbers     );
+    SpewVector(os, std::string("FundNames")       ,FundNames       );
+    SpewVector(os, std::string("FundAllocs")      ,FundAllocs      );
+    SpewVector(os, std::string("FundAllocations") ,FundAllocations );
 }
diff --git a/ledger_invariant.hpp b/ledger_invariant.hpp
index ea151ec..d142778 100644
--- a/ledger_invariant.hpp
+++ b/ledger_invariant.hpp
@@ -53,10 +53,10 @@ class LMI_SO LedgerInvariant final
 
     LedgerInvariant& PlusEq(LedgerInvariant const& a_Addend);
 
-    bool                         is_irr_initialized()    const;
-    bool                         IsFullyInitialized()    const;
-    int                          GetLength()             const override;
-    std::vector<double> const&   GetInforceLives()       const;
+    bool                       is_irr_initialized()    const;
+    bool                       IsFullyInitialized()    const;
+    int                        GetLength()             const override;
+    std::vector<double> const& GetInforceLives()       const;
 
     void CalculateIrrs(Ledger const&);
 
@@ -107,116 +107,116 @@ class LMI_SO LedgerInvariant final
     std::vector<double> RefundableSalesLoad;
 
     // Scalable scalars.
-    double          InitBaseSpecAmt;
-    double          InitTermSpecAmt;
-    double          ChildRiderAmount;
-    double          SpouseRiderAmount;
-    double          InitPrem;
-    double          GuarPrem;
-    double          InitSevenPayPrem;
-    double          InitGSP;
-    double          InitGLP;
-    double          InitTgtPrem;
-    double          ListBillPremium;
-    double          EeListBillPremium;
-    double          ErListBillPremium;
-    double          Dumpin;
-    double          External1035Amount;
-    double          Internal1035Amount;
-    double          InforceUnloanedAV;
-    double          InforceTaxBasis;
+    double      InitBaseSpecAmt;
+    double      InitTermSpecAmt;
+    double      ChildRiderAmount;
+    double      SpouseRiderAmount;
+    double      InitPrem;
+    double      GuarPrem;
+    double      InitSevenPayPrem;
+    double      InitGSP;
+    double      InitGLP;
+    double      InitTgtPrem;
+    double      ListBillPremium;
+    double      EeListBillPremium;
+    double      ErListBillPremium;
+    double      Dumpin;
+    double      External1035Amount;
+    double      Internal1035Amount;
+    double      InforceUnloanedAV;
+    double      InforceTaxBasis;
 
     // Nonscalable scalars.
-    double          MaleProportion;
-    double          NonsmokerProportion;
-    double          GuarMaxMandE;
-    double          InitDacTaxRate;
-    double          InitPremTaxRate;
-    double          GenderDistinct;
-    double          GenderBlended;
-    double          SmokerDistinct;
-    double          SmokerBlended;
-    double          SubstdTable; // Prefer string 'SubstandardTable'.
-    double          Age;
-    double          RetAge;
-    double          EndtAge;
-    double          GroupIndivSelection;
-    double          NoLongerIssued;
-    double          AllowGroupQuote;
-    double          TxCallsGuarUwSubstd;
-    double          AllowExperienceRating;
-    double          UseExperienceRating;
-    double          UsePartialMort;
-    double          SurviveToExpectancy;
-    double          SurviveToYear;
-    double          SurviveToAge;
-    double          SurvivalMaxYear;
-    double          SurvivalMaxAge;
-    double          AvgFund;
-    double          CustomFund;
-    double          IsMec;
-    double          InforceIsMec;
-    double          InforceYear;
-    double          InforceMonth;
-    double          MecYear;
-    double          MecMonth;
-    double          HasWP;
-    double          HasADD;
-    double          HasTerm;
-    double          HasSupplSpecAmt;
-    double          HasChildRider;
-    double          HasSpouseRider;
-    double          SpouseIssueAge;
-    double          HasHoneymoon;
-    double          PostHoneymoonSpread;
-    double          SplitMinPrem;
-    double          ErNotionallyPaysTerm;
-    double          IsSinglePremium;
-    double          MaxAnnGuarLoanSpread;
-    double          MaxAnnCurrLoanDueRate;
-    double          IsInforce;
-    double          CurrentCoiMultiplier;
-    double          NoLapseAlwaysActive;
-    double          NoLapseMinDur;
-    double          NoLapseMinAge;
-    double          Has1035ExchCharge;
-    double          EffDateJdn;
-    double          DateOfBirthJdn;
-    double          LastCoiReentryDateJdn;
-    double          ListBillDateJdn;
-    double          InforceAsOfDateJdn;
-    double          GenAcctAllocation;
-    double          SplitFundAllocation;
-    double          WriteTsvFile;
-    double          SupplementalReport;
+    double      MaleProportion;
+    double      NonsmokerProportion;
+    double      GuarMaxMandE;
+    double      InitDacTaxRate;
+    double      InitPremTaxRate;
+    double      GenderDistinct;
+    double      GenderBlended;
+    double      SmokerDistinct;
+    double      SmokerBlended;
+    double      SubstdTable; // Prefer string 'SubstandardTable'.
+    double      Age;
+    double      RetAge;
+    double      EndtAge;
+    double      GroupIndivSelection;
+    double      NoLongerIssued;
+    double      AllowGroupQuote;
+    double      TxCallsGuarUwSubstd;
+    double      AllowExperienceRating;
+    double      UseExperienceRating;
+    double      UsePartialMort;
+    double      SurviveToExpectancy;
+    double      SurviveToYear;
+    double      SurviveToAge;
+    double      SurvivalMaxYear;
+    double      SurvivalMaxAge;
+    double      AvgFund;
+    double      CustomFund;
+    double      IsMec;
+    double      InforceIsMec;
+    double      InforceYear;
+    double      InforceMonth;
+    double      MecYear;
+    double      MecMonth;
+    double      HasWP;
+    double      HasADD;
+    double      HasTerm;
+    double      HasSupplSpecAmt;
+    double      HasChildRider;
+    double      HasSpouseRider;
+    double      SpouseIssueAge;
+    double      HasHoneymoon;
+    double      PostHoneymoonSpread;
+    double      SplitMinPrem;
+    double      ErNotionallyPaysTerm;
+    double      IsSinglePremium;
+    double      MaxAnnGuarLoanSpread;
+    double      MaxAnnCurrLoanDueRate;
+    double      IsInforce;
+    double      CurrentCoiMultiplier;
+    double      NoLapseAlwaysActive;
+    double      NoLapseMinDur;
+    double      NoLapseMinAge;
+    double      Has1035ExchCharge;
+    double      EffDateJdn;
+    double      DateOfBirthJdn;
+    double      LastCoiReentryDateJdn;
+    double      ListBillDateJdn;
+    double      InforceAsOfDateJdn;
+    double      GenAcctAllocation;
+    double      SplitFundAllocation;
+    double      WriteTsvFile;
+    double      SupplementalReport;
 
     // Strings.
 
     // Essential strings describing the policy and company.
-    std::string     PolicyForm;
+    std::string PolicyForm;
     // Ledger needs no member like product_data::PolicyFormAlternative;
-    std::string     PolicyMktgName;
-    std::string     PolicyLegalName;
-    std::string     CsoEra;
-    std::string     InsCoShortName;
-    std::string     InsCoName;
-    std::string     InsCoAddr;
-    std::string     InsCoStreet;
-    std::string     InsCoPhone;
+    std::string PolicyMktgName;
+    std::string PolicyLegalName;
+    std::string CsoEra;
+    std::string InsCoShortName;
+    std::string InsCoName;
+    std::string InsCoAddr;
+    std::string InsCoStreet;
+    std::string InsCoPhone;
     // Ledger needs no member like product_data::InsCoDomicile;
-    std::string     MainUnderwriter;
-    std::string     MainUnderwriterAddress;
-    std::string     CoUnderwriter;
-    std::string     CoUnderwriterAddress;
+    std::string MainUnderwriter;
+    std::string MainUnderwriterAddress;
+    std::string CoUnderwriter;
+    std::string CoUnderwriterAddress;
 
     // Terms defined in the contract, which must be used for column
     // headers according to the illustration reg.
-    std::string     AvName;
-    std::string     CsvName;
-    std::string     CsvHeaderName;
-    std::string     NoLapseProvisionName;
-    std::string     ContractName;
-    std::string     DboName;
+    std::string AvName;
+    std::string CsvName;
+    std::string CsvHeaderName;
+    std::string NoLapseProvisionName;
+    std::string ContractName;
+    std::string DboName;
     // PDF !! 'DboName+' variables are used only to assemble DBO
     // definitions for mce_ill_reg PDFs. Probably those definitions
     // should be moved into '.policy' files instead, in which case
@@ -224,176 +224,176 @@ class LMI_SO LedgerInvariant final
     // 'DboNameReturnOfPremium' is omitted here only because the
     // mce_ill_reg products that lmi supports happen not to use a
     // definition for it today.
-    std::string     DboNameLevel;
-    std::string     DboNameIncreasing;
-//  std::string     DboNameReturnOfPremium;
-    std::string     DboNameMinDeathBenefit;
-    std::string     GenAcctName;
-    std::string     GenAcctNameElaborated;
-    std::string     SepAcctName;
-    std::string     SpecAmtName;
-    std::string     SpecAmtNameElaborated;
-    std::string     UwBasisMedical;
-    std::string     UwBasisParamedical;
-    std::string     UwBasisNonmedical;
-    std::string     UwBasisSimplified;
-    std::string     UwBasisGuaranteed;
-    std::string     UwClassPreferred;
-    std::string     UwClassStandard;
-    std::string     UwClassRated;
-    std::string     UwClassUltra;
+    std::string DboNameLevel;
+    std::string DboNameIncreasing;
+//  std::string DboNameReturnOfPremium;
+    std::string DboNameMinDeathBenefit;
+    std::string GenAcctName;
+    std::string GenAcctNameElaborated;
+    std::string SepAcctName;
+    std::string SpecAmtName;
+    std::string SpecAmtNameElaborated;
+    std::string UwBasisMedical;
+    std::string UwBasisParamedical;
+    std::string UwBasisNonmedical;
+    std::string UwBasisSimplified;
+    std::string UwBasisGuaranteed;
+    std::string UwClassPreferred;
+    std::string UwClassStandard;
+    std::string UwClassRated;
+    std::string UwClassUltra;
 
     // Ledger column definitions.
-    std::string     AccountValueFootnote;
-    std::string     AttainedAgeFootnote;
-    std::string     CashSurrValueFootnote;
-    std::string     DeathBenefitFootnote;
-    std::string     InitialPremiumFootnote;
-    std::string     NetPremiumFootnote;
-    std::string     GrossPremiumFootnote;
-    std::string     OutlayFootnote;
-    std::string     PolicyYearFootnote;
+    std::string AccountValueFootnote;
+    std::string AttainedAgeFootnote;
+    std::string CashSurrValueFootnote;
+    std::string DeathBenefitFootnote;
+    std::string InitialPremiumFootnote;
+    std::string NetPremiumFootnote;
+    std::string GrossPremiumFootnote;
+    std::string OutlayFootnote;
+    std::string PolicyYearFootnote;
 
     // Terse rider names.
-    std::string     ADDTerseName;
-    std::string     InsurabilityTerseName;
-    std::string     ChildTerseName;
-    std::string     SpouseTerseName;
-    std::string     TermTerseName;
-    std::string     WaiverTerseName;
-    std::string     AccelBftRiderTerseName;
-    std::string     OverloanRiderTerseName;
+    std::string ADDTerseName;
+    std::string InsurabilityTerseName;
+    std::string ChildTerseName;
+    std::string SpouseTerseName;
+    std::string TermTerseName;
+    std::string WaiverTerseName;
+    std::string AccelBftRiderTerseName;
+    std::string OverloanRiderTerseName;
 
     // Rider footnotes.
-    std::string     ADDFootnote;
-    std::string     ChildFootnote;
-    std::string     SpouseFootnote;
-    std::string     TermFootnote;
-    std::string     WaiverFootnote;
-    std::string     AccelBftRiderFootnote;
-    std::string     OverloanRiderFootnote;
+    std::string ADDFootnote;
+    std::string ChildFootnote;
+    std::string SpouseFootnote;
+    std::string TermFootnote;
+    std::string WaiverFootnote;
+    std::string AccelBftRiderFootnote;
+    std::string OverloanRiderFootnote;
 
     // Group quote footnotes.
-    std::string     GroupQuoteShortProductName;
-    std::string     GroupQuoteIsNotAnOffer    ;
-    std::string     GroupQuoteRidersFooter    ;
-    std::string     GroupQuotePolicyFormId    ;
-    std::string     GroupQuoteStateVariations ;
-    std::string     GroupQuoteProspectus      ;
-    std::string     GroupQuoteUnderwriter     ;
-    std::string     GroupQuoteBrokerDealer    ;
-    std::string     GroupQuoteRubricMandatory ;
-    std::string     GroupQuoteRubricVoluntary ;
-    std::string     GroupQuoteRubricFusion    ;
-    std::string     GroupQuoteFooterMandatory ;
-    std::string     GroupQuoteFooterVoluntary ;
-    std::string     GroupQuoteFooterFusion    ;
+    std::string GroupQuoteShortProductName;
+    std::string GroupQuoteIsNotAnOffer    ;
+    std::string GroupQuoteRidersFooter    ;
+    std::string GroupQuotePolicyFormId    ;
+    std::string GroupQuoteStateVariations ;
+    std::string GroupQuoteProspectus      ;
+    std::string GroupQuoteUnderwriter     ;
+    std::string GroupQuoteBrokerDealer    ;
+    std::string GroupQuoteRubricMandatory ;
+    std::string GroupQuoteRubricVoluntary ;
+    std::string GroupQuoteRubricFusion    ;
+    std::string GroupQuoteFooterMandatory ;
+    std::string GroupQuoteFooterVoluntary ;
+    std::string GroupQuoteFooterFusion    ;
 
     // Premium-specific footnotes.
-    std::string     MinimumPremiumFootnote;
-    std::string     PremAllocationFootnote;
+    std::string MinimumPremiumFootnote;
+    std::string PremAllocationFootnote;
 
     // Miscellaneous other footnotes.
-    std::string     InterestDisclaimer;
-    std::string     GuarMortalityFootnote;
-    std::string     ProductDescription;
-    std::string     StableValueFootnote;
-    std::string     NoVanishPremiumFootnote;
-    std::string     RejectPremiumFootnote;
-    std::string     ExpRatingFootnote;
-    std::string     MortalityBlendFootnote;
-    std::string     HypotheticalRatesFootnote;
-    std::string     SalesLoadRefundFootnote;
-    std::string     NoLapseEverFootnote;
-    std::string     NoLapseFootnote;
-    std::string     MarketValueAdjFootnote;
-    std::string     ExchangeChargeFootnote0;
-    std::string     CurrentValuesFootnote;
-    std::string     DBOption1Footnote;
-    std::string     DBOption2Footnote;
-    std::string     DBOption3Footnote;
-    std::string     MinDeathBenefitFootnote;
-    std::string     ExpRatRiskChargeFootnote;
-    std::string     ExchangeChargeFootnote1;
-    std::string     FlexiblePremiumFootnote;
-    std::string     GuaranteedValuesFootnote;
-    std::string     CreditingRateFootnote;
-    std::string     GuaranteedCreditRateFootnote;
-    std::string     GrossRateFootnote;
-    std::string     NetRateFootnote;
-    std::string     MecFootnote;
-    std::string     GptFootnote;
-    std::string     MidpointValuesFootnote;
-    std::string     SinglePremiumFootnote;
-    std::string     MonthlyChargesFootnote;
-    std::string     UltCreditingRateFootnote;
-    std::string     UltCreditingRateHeader;
-    std::string     MaxNaarFootnote;
-    std::string     PremTaxSurrChgFootnote;
-    std::string     PolicyFeeFootnote;
-    std::string     AssetChargeFootnote;
-    std::string     InvestmentIncomeFootnote;
-    std::string     IrrDbFootnote;
-    std::string     IrrCsvFootnote;
-    std::string     MortalityChargesFootnote;
-    std::string     LoanAndWithdrawalFootnote;
-    std::string     LoanFootnote;
-    std::string     ImprimaturPresale;
-    std::string     ImprimaturPresaleComposite;
-    std::string     ImprimaturInforce;
-    std::string     ImprimaturInforceComposite;
-    std::string     StateMarketingImprimatur;
-    std::string     InforceNonGuaranteedFootnote0;
-    std::string     InforceNonGuaranteedFootnote1;
-    std::string     InforceNonGuaranteedFootnote2;
-    std::string     InforceNonGuaranteedFootnote3;
-    std::string     NonGuaranteedFootnote;
-    std::string     NonGuaranteedFootnote1;
-    std::string     NonGuaranteedFootnote1Tx;
-    std::string     MonthlyChargesPaymentFootnote;
-    std::string     SurrenderFootnote;
-    std::string     PortabilityFootnote;
-    std::string     FundRateFootnote;
-    std::string     IssuingCompanyFootnote;
-    std::string     SubsidiaryFootnote;
-    std::string     PlacementAgentFootnote;
-    std::string     MarketingNameFootnote;
-    std::string     GuarIssueDisclaimerNcSc;
-    std::string     GuarIssueDisclaimerMd;
-    std::string     GuarIssueDisclaimerTx;
-    std::string     IllRegCertAgent;
-    std::string     IllRegCertAgentIl;
-    std::string     IllRegCertAgentTx;
-    std::string     IllRegCertClient;
-    std::string     IllRegCertClientIl;
-    std::string     IllRegCertClientTx;
+    std::string InterestDisclaimer;
+    std::string GuarMortalityFootnote;
+    std::string ProductDescription;
+    std::string StableValueFootnote;
+    std::string NoVanishPremiumFootnote;
+    std::string RejectPremiumFootnote;
+    std::string ExpRatingFootnote;
+    std::string MortalityBlendFootnote;
+    std::string HypotheticalRatesFootnote;
+    std::string SalesLoadRefundFootnote;
+    std::string NoLapseEverFootnote;
+    std::string NoLapseFootnote;
+    std::string MarketValueAdjFootnote;
+    std::string ExchangeChargeFootnote0;
+    std::string CurrentValuesFootnote;
+    std::string DBOption1Footnote;
+    std::string DBOption2Footnote;
+    std::string DBOption3Footnote;
+    std::string MinDeathBenefitFootnote;
+    std::string ExpRatRiskChargeFootnote;
+    std::string ExchangeChargeFootnote1;
+    std::string FlexiblePremiumFootnote;
+    std::string GuaranteedValuesFootnote;
+    std::string CreditingRateFootnote;
+    std::string GuaranteedCreditRateFootnote;
+    std::string GrossRateFootnote;
+    std::string NetRateFootnote;
+    std::string MecFootnote;
+    std::string GptFootnote;
+    std::string MidpointValuesFootnote;
+    std::string SinglePremiumFootnote;
+    std::string MonthlyChargesFootnote;
+    std::string UltCreditingRateFootnote;
+    std::string UltCreditingRateHeader;
+    std::string MaxNaarFootnote;
+    std::string PremTaxSurrChgFootnote;
+    std::string PolicyFeeFootnote;
+    std::string AssetChargeFootnote;
+    std::string InvestmentIncomeFootnote;
+    std::string IrrDbFootnote;
+    std::string IrrCsvFootnote;
+    std::string MortalityChargesFootnote;
+    std::string LoanAndWithdrawalFootnote;
+    std::string LoanFootnote;
+    std::string ImprimaturPresale;
+    std::string ImprimaturPresaleComposite;
+    std::string ImprimaturInforce;
+    std::string ImprimaturInforceComposite;
+    std::string StateMarketingImprimatur;
+    std::string InforceNonGuaranteedFootnote0;
+    std::string InforceNonGuaranteedFootnote1;
+    std::string InforceNonGuaranteedFootnote2;
+    std::string InforceNonGuaranteedFootnote3;
+    std::string NonGuaranteedFootnote;
+    std::string NonGuaranteedFootnote1;
+    std::string NonGuaranteedFootnote1Tx;
+    std::string MonthlyChargesPaymentFootnote;
+    std::string SurrenderFootnote;
+    std::string PortabilityFootnote;
+    std::string FundRateFootnote;
+    std::string IssuingCompanyFootnote;
+    std::string SubsidiaryFootnote;
+    std::string PlacementAgentFootnote;
+    std::string MarketingNameFootnote;
+    std::string GuarIssueDisclaimerNcSc;
+    std::string GuarIssueDisclaimerMd;
+    std::string GuarIssueDisclaimerTx;
+    std::string IllRegCertAgent;
+    std::string IllRegCertAgentIl;
+    std::string IllRegCertAgentTx;
+    std::string IllRegCertClient;
+    std::string IllRegCertClientIl;
+    std::string IllRegCertClientTx;
 
     // Strings from class Input.
 
-    std::string     ProductName;
-    std::string     ProducerName;
-    std::string     ProducerStreet;
-    std::string     ProducerCityEtc;
-    std::string     ProducerPhone;
-    std::string     ProducerId;
-    std::string     CorpName;
-    std::string     MasterContractNumber;
-    std::string     ContractNumber;
-    std::string     Insured1;
-    std::string     Gender;
-    std::string     UWType;
-    std::string     Smoker;
-    std::string     UWClass;
-    std::string     SubstandardTable;
-    std::string     DefnLifeIns;
-    std::string     DefnMaterialChange;
-    std::string     AvoidMec;
-    std::string     PartMortTableName;
-
-    std::string     StateOfJurisdiction;
-    std::string     PremiumTaxState;
-    std::string     CountryIso3166Abbrev;
-    std::string     Comments;
+    std::string ProductName;
+    std::string ProducerName;
+    std::string ProducerStreet;
+    std::string ProducerCityEtc;
+    std::string ProducerPhone;
+    std::string ProducerId;
+    std::string CorpName;
+    std::string MasterContractNumber;
+    std::string ContractNumber;
+    std::string Insured1;
+    std::string Gender;
+    std::string UWType;
+    std::string Smoker;
+    std::string UWClass;
+    std::string SubstandardTable;
+    std::string DefnLifeIns;
+    std::string DefnMaterialChange;
+    std::string AvoidMec;
+    std::string PartMortTableName;
+
+    std::string StateOfJurisdiction;
+    std::string PremiumTaxState;
+    std::string CountryIso3166Abbrev;
+    std::string Comments;
 
     std::string SupplementalReportColumn00;
     std::string SupplementalReportColumn01;
@@ -413,9 +413,9 @@ class LMI_SO LedgerInvariant final
     // generating reports from this class's data, and mc_enum::str()
     // is not visible across a shared-library boundary. For now, this
     // kludge solves an immediate problem for premium quotes.
-    std::string     InitDBOpt;
-    std::string     InitEeMode;
-    std::string     InitErMode;
+    std::string InitDBOpt;
+    std::string InitEeMode;
+    std::string InitErMode;
 
     // Public data members not included in any of the maps that are
     // handled by the base class are "special".
diff --git a/ledger_invariant_init.cpp b/ledger_invariant_init.cpp
index 34df7bf..bb207b2 100644
--- a/ledger_invariant_init.cpp
+++ b/ledger_invariant_init.cpp
@@ -53,10 +53,10 @@ void LedgerInvariant::Init(BasicValues const* b)
 
     // BOY vectors.
 
-//  TgtPrem         = DYNAMIC ?
-//  GrossPmt        = DYNAMIC
-//  EeGrossPmt      = DYNAMIC
-//  ErGrossPmt      = DYNAMIC
+//  TgtPrem                    = DYNAMIC ?
+//  GrossPmt                   = DYNAMIC
+//  EeGrossPmt                 = DYNAMIC
+//  ErGrossPmt                 = DYNAMIC
 
     // Certain data members, including but almost certainly not
     // limited to these, should not be initialized to any non-zero
@@ -64,96 +64,96 @@ void LedgerInvariant::Init(BasicValues const* b)
     // processing, subject to various restrictions that often cause
     // them to differ from input values. Notably, values need to be
     // zero after lapse.
-//    NetWD                 = DYNAMIC
-//    NewCashLoan           = DYNAMIC
-//    Outlay                = DYNAMIC
-//    GptForceout           = DYNAMIC
-//    NaarForceout          = DYNAMIC ?
-//    ModalMinimumPremium   = DYNAMIC
-//    EeModalMinimumPremium = DYNAMIC
-//    ErModalMinimumPremium = DYNAMIC
+//  NetWD                      = DYNAMIC
+//  NewCashLoan                = DYNAMIC
+//  Outlay                     = DYNAMIC
+//  GptForceout                = DYNAMIC
+//  NaarForceout               = DYNAMIC ?
+//  ModalMinimumPremium        = DYNAMIC
+//  EeModalMinimumPremium      = DYNAMIC
+//  ErModalMinimumPremium      = DYNAMIC
 
-    AddonMonthlyFee      = b->yare_input_.ExtraMonthlyCustodialFee  ;
+    AddonMonthlyFee            = b->yare_input_.ExtraMonthlyCustodialFee  ;
 
     // EOY vectors.
 
-    HasSupplSpecAmt = false;
+    HasSupplSpecAmt            = false;
     if(b->yare_input_.TermRider)
         {
-        TermSpecAmt     .assign(Length, b->yare_input_.TermRiderAmount);
+        TermSpecAmt            .assign(Length, b->yare_input_.TermRiderAmount);
         }
     else if(b->database().query<bool>(DB_TermIsNotRider))
         {
-        TermSpecAmt      = b->DeathBfts_->supplamt();
+        TermSpecAmt            = b->DeathBfts_->supplamt();
         if(!each_equal(TermSpecAmt, 0.0))
             {
-            HasSupplSpecAmt = true;
+            HasSupplSpecAmt    = true;
             }
         }
     else
         {
         TermSpecAmt     .assign(Length, 0.0);
         }
-    SpecAmt         = b->DeathBfts_->specamt();
+    SpecAmt                    = b->DeathBfts_->specamt();
 
     // Forborne vectors.
 
-    Salary               = b->yare_input_.ProjectedSalary           ;
+    Salary                     = b->yare_input_.ProjectedSalary           ;
 
     // Nonscalable vectors.
 
-    IndvTaxBracket       = b->yare_input_.TaxBracket                ;
-    CorpTaxBracket       = b->yare_input_.CorporationTaxBracket     ;
-    AnnualFlatExtra      = b->yare_input_.FlatExtra                 ;
-    HoneymoonValueSpread = b->yare_input_.HoneymoonValueSpread      ;
-    PartMortTableMult       = b->yare_input_.PartialMortalityMultiplier;
-    AddonCompOnAssets    = b->yare_input_.ExtraCompensationOnAssets ;
-    AddonCompOnPremium   = b->yare_input_.ExtraCompensationOnPremium;
-    CorridorFactor       = b->GetCorridorFactor();
+    IndvTaxBracket             = b->yare_input_.TaxBracket                ;
+    CorpTaxBracket             = b->yare_input_.CorporationTaxBracket     ;
+    AnnualFlatExtra            = b->yare_input_.FlatExtra                 ;
+    HoneymoonValueSpread       = b->yare_input_.HoneymoonValueSpread      ;
+    PartMortTableMult          = b->yare_input_.PartialMortalityMultiplier;
+    AddonCompOnAssets          = b->yare_input_.ExtraCompensationOnAssets ;
+    AddonCompOnPremium         = b->yare_input_.ExtraCompensationOnPremium;
+    CorridorFactor             = b->GetCorridorFactor();
 
-    AnnLoanDueRate       = b->InterestRates_->RegLnDueRate
+    AnnLoanDueRate = b->InterestRates_->RegLnDueRate
         (mce_gen_curr
         ,mce_annual_rate
         );
 
-    CurrMandE            = b->InterestRates_->MAndERate(mce_gen_curr);
-    TotalIMF             = b->InterestRates_->InvestmentManagementFee();
-    RefundableSalesLoad  = b->Loads_->refundable_sales_load_proportion();
+    CurrMandE                  = b->InterestRates_->MAndERate(mce_gen_curr);
+    TotalIMF                   = b->InterestRates_->InvestmentManagementFee();
+    RefundableSalesLoad        = b->Loads_->refundable_sales_load_proportion();
 
     // Scalable scalars.
 
     // SOMEDAY !! Things indexed with '[0]' should probably use inforce year 
instead.
-    InitBaseSpecAmt         = b->DeathBfts_->specamt()[0];
-    InitTermSpecAmt         = TermSpecAmt[0];
-    ChildRiderAmount        = b->yare_input_.ChildRiderAmount;
-    SpouseRiderAmount       = b->yare_input_.SpouseRiderAmount;
-
-//  InitPrem                = DYNAMIC
-//  GuarPrem                = DYNAMIC
-//  InitSevenPayPrem        = DYNAMIC
-//  InitGSP                 = DYNAMIC
-//  InitGLP                 = DYNAMIC
-//  InitTgtPrem             = DYNAMIC
-//  ListBillPremium         = DYNAMIC
-//  EeListBillPremium       = DYNAMIC
-//  ErListBillPremium       = DYNAMIC
+    InitBaseSpecAmt            = b->DeathBfts_->specamt()[0];
+    InitTermSpecAmt            = TermSpecAmt[0];
+    ChildRiderAmount           = b->yare_input_.ChildRiderAmount;
+    SpouseRiderAmount          = b->yare_input_.SpouseRiderAmount;
+
+//  InitPrem                   = DYNAMIC
+//  GuarPrem                   = DYNAMIC
+//  InitSevenPayPrem           = DYNAMIC
+//  InitGSP                    = DYNAMIC
+//  InitGLP                    = DYNAMIC
+//  InitTgtPrem                = DYNAMIC
+//  ListBillPremium            = DYNAMIC
+//  EeListBillPremium          = DYNAMIC
+//  ErListBillPremium          = DYNAMIC
 
     // These must be set dynamically because they may be changed,
     // e.g. to respect guideline limits. ?
-//    Dumpin               = DYNAMIC
-//    External1035Amount   = DYNAMIC
-//    Internal1035Amount   = DYNAMIC
+//  Dumpin                     = DYNAMIC
+//  External1035Amount         = DYNAMIC
+//  Internal1035Amount         = DYNAMIC
 
     InforceUnloanedAV =
           b->yare_input_.InforceGeneralAccountValue
         + b->yare_input_.InforceSeparateAccountValue
         ;
-    InforceTaxBasis      = b->yare_input_.InforceTaxBasis           ;
+    InforceTaxBasis            = b->yare_input_.InforceTaxBasis           ;
 
     // Nonscalable scalars.
 
-    MaleProportion          = b->yare_input_.MaleProportion;
-    NonsmokerProportion     = b->yare_input_.NonsmokerProportion;
+    MaleProportion             = b->yare_input_.MaleProportion;
+    NonsmokerProportion        = b->yare_input_.NonsmokerProportion;
 
     // Assert this because the illustration currently prints a scalar
     // guaranteed max, assuming that it's the same for all years.
@@ -161,30 +161,30 @@ void LedgerInvariant::Init(BasicValues const* b)
         (mce_gen_guar
         );
     LMI_ASSERT(each_equal(guar_m_and_e_rate, guar_m_and_e_rate.front()));
-    GuarMaxMandE            = guar_m_and_e_rate[0];
-    InitDacTaxRate          = 
b->Loads_->dac_tax_load()[b->yare_input_.InforceYear];
-    InitPremTaxRate         = b->PremiumTax_->maximum_load_rate();
-//  GenderDistinct          = UNUSED ?
-    GenderBlended           = b->yare_input_.BlendGender;
-//  SmokerDistinct          = UNUSED ?
-    SmokerBlended           = b->yare_input_.BlendSmoking;
-
-    SubstdTable             = b->yare_input_.SubstandardTable;
-
-    Age                     = b->yare_input_.IssueAge;
-    RetAge                  = b->yare_input_.RetirementAge;
-    EndtAge                 = b->yare_input_.IssueAge + b->GetLength();
+    GuarMaxMandE               = guar_m_and_e_rate[0];
+    InitDacTaxRate             = 
b->Loads_->dac_tax_load()[b->yare_input_.InforceYear];
+    InitPremTaxRate            = b->PremiumTax_->maximum_load_rate();
+//  GenderDistinct             = UNUSED ?
+    GenderBlended              = b->yare_input_.BlendGender;
+//  SmokerDistinct             = UNUSED ?
+    SmokerBlended              = b->yare_input_.BlendSmoking;
+
+    SubstdTable                = b->yare_input_.SubstandardTable;
+
+    Age                        = b->yare_input_.IssueAge;
+    RetAge                     = b->yare_input_.RetirementAge;
+    EndtAge                    = b->yare_input_.IssueAge + b->GetLength();
     b->database().query_into(DB_GroupIndivSelection, GroupIndivSelection);
-    NoLongerIssued          = b->database().query<bool>(DB_NoLongerIssued);
-    AllowGroupQuote         = b->database().query<bool>(DB_AllowGroupQuote);
+    NoLongerIssued             = b->database().query<bool>(DB_NoLongerIssued);
+    AllowGroupQuote            = b->database().query<bool>(DB_AllowGroupQuote);
     b->database().query_into(DB_TxCallsGuarUwSubstd, TxCallsGuarUwSubstd);
-    AllowExperienceRating   = b->database().query<bool>(DB_AllowExpRating);
-    UseExperienceRating     = b->yare_input_.UseExperienceRating;
-    UsePartialMort          = b->yare_input_.UsePartialMortality;
+    AllowExperienceRating      = b->database().query<bool>(DB_AllowExpRating);
+    UseExperienceRating        = b->yare_input_.UseExperienceRating;
+    UsePartialMort             = b->yare_input_.UsePartialMortality;
 
-    SurviveToExpectancy = false;
-    SurviveToYear       = false;
-    SurviveToAge        = false;
+    SurviveToExpectancy        = false;
+    SurviveToYear              = false;
+    SurviveToAge               = false;
     switch(b->yare_input_.SurviveToType)
         {
         case mce_no_survival_limit:     /* do nothing */   ; break;
@@ -199,38 +199,38 @@ void LedgerInvariant::Init(BasicValues const* b)
     // duration for the case (and both cells) is 25 years, then the
     // composite max duration really is 25: it's not limited to 20
     // because the 80-year-old matures earlier.
-    SurvivalMaxYear         = b->yare_input_.SurviveToYear;
-    SurvivalMaxAge          = b->yare_input_.SurviveToAge;
-
-    AvgFund                 = b->yare_input_.UseAverageOfAllFunds;
-    CustomFund              = b->yare_input_.OverrideFundManagementFee;
-
-// IsMec                    =  DYNAMIC
-// InforceIsMec             =  DYNAMIC ?
-// InforceYear              =  DYNAMIC ?
-// InforceMonth             =  DYNAMIC ?
-// MecYear                  =  DYNAMIC
-// MecMonth                 =  DYNAMIC
-
-    HasWP                   = b->yare_input_.WaiverOfPremiumBenefit;
-    HasADD                  = b->yare_input_.AccidentalDeathBenefit;
-    HasTerm                 = b->yare_input_.TermRider;
-// HasSupplSpecAmt // Out of order--see above.
-    HasChildRider           = b->yare_input_.ChildRider;
-    HasSpouseRider          = b->yare_input_.SpouseRider;
-    SpouseIssueAge          = b->yare_input_.SpouseIssueAge;
-
-    HasHoneymoon            = b->yare_input_.HoneymoonEndorsement;
-    PostHoneymoonSpread     = b->yare_input_.PostHoneymoonSpread;
+    SurvivalMaxYear            = b->yare_input_.SurviveToYear;
+    SurvivalMaxAge             = b->yare_input_.SurviveToAge;
+
+    AvgFund                    = b->yare_input_.UseAverageOfAllFunds;
+    CustomFund                 = b->yare_input_.OverrideFundManagementFee;
+
+//  IsMec                      = DYNAMIC
+//  InforceIsMec               = DYNAMIC ?
+//  InforceYear                = DYNAMIC ?
+//  InforceMonth               = DYNAMIC ?
+//  MecYear                    = DYNAMIC
+//  MecMonth                   = DYNAMIC
+
+    HasWP                      = b->yare_input_.WaiverOfPremiumBenefit;
+    HasADD                     = b->yare_input_.AccidentalDeathBenefit;
+    HasTerm                    = b->yare_input_.TermRider;
+//  HasSupplSpecAmt // Out of order--see above.
+    HasChildRider              = b->yare_input_.ChildRider;
+    HasSpouseRider             = b->yare_input_.SpouseRider;
+    SpouseIssueAge             = b->yare_input_.SpouseIssueAge;
+
+    HasHoneymoon               = b->yare_input_.HoneymoonEndorsement;
+    PostHoneymoonSpread        = b->yare_input_.PostHoneymoonSpread;
     b->database().query_into(DB_SplitMinPrem        , SplitMinPrem);
     b->database().query_into(DB_ErNotionallyPaysTerm, ErNotionallyPaysTerm);
     b->database().query_into(DB_IsSinglePremium     , IsSinglePremium);
 
-    std::vector<double> z= b->InterestRates_->RegLoanSpread(mce_gen_guar);
-    LMI_ASSERT(!z.empty()); // Ensure *(std::max_element()) works.
-    MaxAnnGuarLoanSpread = *std::max_element(z.begin(), z.end());
+    std::vector<double> z      = 
b->InterestRates_->RegLoanSpread(mce_gen_guar);
+    LMI_ASSERT(!z.empty());              // Ensure *(std::max_element()) works.
+    MaxAnnGuarLoanSpread       = *std::max_element(z.begin(), z.end());
     LMI_ASSERT(!AnnLoanDueRate.empty()); // Ensure *(std::max_element()) works.
-    MaxAnnCurrLoanDueRate = *std::max_element
+    MaxAnnCurrLoanDueRate      = *std::max_element
         (AnnLoanDueRate.begin()
         ,AnnLoanDueRate.end()
         );
@@ -263,13 +263,13 @@ void LedgerInvariant::Init(BasicValues const* b)
     b->database().query_into(DB_NoLapseMinAge      , NoLapseMinAge);
     b->database().query_into(DB_Has1035ExchCharge  , Has1035ExchCharge);
 
-    EffDateJdn              = calendar_date(b->yare_input_.EffectiveDate     
).julian_day_number();
-    DateOfBirthJdn          = calendar_date(b->yare_input_.DateOfBirth       
).julian_day_number();
-    LastCoiReentryDateJdn   = 
calendar_date(b->yare_input_.LastCoiReentryDate).julian_day_number();
-    ListBillDateJdn         = calendar_date(b->yare_input_.ListBillDate      
).julian_day_number();
-    InforceAsOfDateJdn      = calendar_date(b->yare_input_.InforceAsOfDate   
).julian_day_number();
+    EffDateJdn            = calendar_date(b->yare_input_.EffectiveDate     
).julian_day_number();
+    DateOfBirthJdn        = calendar_date(b->yare_input_.DateOfBirth       
).julian_day_number();
+    LastCoiReentryDateJdn = 
calendar_date(b->yare_input_.LastCoiReentryDate).julian_day_number();
+    ListBillDateJdn       = calendar_date(b->yare_input_.ListBillDate      
).julian_day_number();
+    InforceAsOfDateJdn    = calendar_date(b->yare_input_.InforceAsOfDate   
).julian_day_number();
 
-    GenAcctAllocation = 1.0 - premium_allocation_to_sepacct(b->yare_input_);
+    GenAcctAllocation          = 1.0 - 
premium_allocation_to_sepacct(b->yare_input_);
 
     SplitFundAllocation =
             (0.0 != GenAcctAllocation && 1.0 != GenAcctAllocation)
@@ -279,7 +279,7 @@ void LedgerInvariant::Init(BasicValues const* b)
             )
         ;
 
-    WriteTsvFile = contains(b->yare_input_.Comments, "idiosyncrasyY");
+    WriteTsvFile               = contains(b->yare_input_.Comments, 
"idiosyncrasyY");
 
     SupplementalReport         = b->yare_input_.CreateSupplementalReport;
 
@@ -298,191 +298,191 @@ void LedgerInvariant::Init(BasicValues const* b)
         // strings in class product_data vary across the same axes as
         // database_entity objects.
         bool alt_form = b->database().query<bool>(DB_UsePolicyFormAlt);
-        dbo_name_option1               = p.datum("DboNameLevel"                
   );
-        dbo_name_option2               = p.datum("DboNameIncreasing"           
   );
-        dbo_name_rop                   = p.datum("DboNameReturnOfPremium"      
   );
-        dbo_name_mdb                   = p.datum("DboNameMinDeathBenefit"      
   );
+        dbo_name_option1              = p.datum("DboNameLevel"                 
  );
+        dbo_name_option2              = p.datum("DboNameIncreasing"            
  );
+        dbo_name_rop                  = p.datum("DboNameReturnOfPremium"       
  );
+        dbo_name_mdb                  = p.datum("DboNameMinDeathBenefit"       
  );
 
         // Strings.
 
         PolicyForm = p.datum(alt_form ? "PolicyFormAlternative" : 
"PolicyForm");
-        PolicyMktgName                 = p.datum("PolicyMktgName"              
   );
-        PolicyLegalName                = p.datum("PolicyLegalName"             
   );
+        PolicyMktgName                = p.datum("PolicyMktgName"               
  );
+        PolicyLegalName               = p.datum("PolicyLegalName"              
  );
         CsoEra     = mc_str(b->database().query<mcenum_cso_era>(DB_CsoEra));
-        InsCoShortName                 = p.datum("InsCoShortName"              
   );
-        InsCoName                      = p.datum("InsCoName"                   
   );
-        InsCoAddr                      = p.datum("InsCoAddr"                   
   );
-        InsCoStreet                    = p.datum("InsCoStreet"                 
   );
-        InsCoPhone                     = p.datum("InsCoPhone"                  
   );
-        MainUnderwriter                = p.datum("MainUnderwriter"             
   );
-        MainUnderwriterAddress         = p.datum("MainUnderwriterAddress"      
   );
-        CoUnderwriter                  = p.datum("CoUnderwriter"               
   );
-        CoUnderwriterAddress           = p.datum("CoUnderwriterAddress"        
   );
+        InsCoShortName                = p.datum("InsCoShortName"               
  );
+        InsCoName                     = p.datum("InsCoName"                    
  );
+        InsCoAddr                     = p.datum("InsCoAddr"                    
  );
+        InsCoStreet                   = p.datum("InsCoStreet"                  
  );
+        InsCoPhone                    = p.datum("InsCoPhone"                   
  );
+        MainUnderwriter               = p.datum("MainUnderwriter"              
  );
+        MainUnderwriterAddress        = p.datum("MainUnderwriterAddress"       
  );
+        CoUnderwriter                 = p.datum("CoUnderwriter"                
  );
+        CoUnderwriterAddress          = p.datum("CoUnderwriterAddress"         
  );
 
         // Terms defined in the contract
 
-        AvName                         = p.datum("AvName"                      
   );
-        CsvName                        = p.datum("CsvName"                     
   );
-        CsvHeaderName                  = p.datum("CsvHeaderName"               
   );
-        NoLapseProvisionName           = p.datum("NoLapseProvisionName"        
   );
-        ContractName                   = p.datum("ContractName"                
   );
-        DboName                        = p.datum("DboName"                     
   );
+        AvName                        = p.datum("AvName"                       
  );
+        CsvName                       = p.datum("CsvName"                      
  );
+        CsvHeaderName                 = p.datum("CsvHeaderName"                
  );
+        NoLapseProvisionName          = p.datum("NoLapseProvisionName"         
  );
+        ContractName                  = p.datum("ContractName"                 
  );
+        DboName                       = p.datum("DboName"                      
  );
         // PDF !! It is hoped that these three local variables (which
         // duplicate 'dbo_name_option1' etc. above) can be expunged.
-        DboNameLevel                   = p.datum("DboNameLevel"                
   );
-        DboNameIncreasing              = p.datum("DboNameIncreasing"           
   );
-        DboNameMinDeathBenefit         = p.datum("DboNameMinDeathBenefit"      
   );
-        GenAcctName                    = p.datum("GenAcctName"                 
   );
-        GenAcctNameElaborated          = p.datum("GenAcctNameElaborated"       
   );
-        SepAcctName                    = p.datum("SepAcctName"                 
   );
-        SpecAmtName                    = p.datum("SpecAmtName"                 
   );
-        SpecAmtNameElaborated          = p.datum("SpecAmtNameElaborated"       
   );
-        UwBasisMedical                 = p.datum("UwBasisMedical"              
   );
-        UwBasisParamedical             = p.datum("UwBasisParamedical"          
   );
-        UwBasisNonmedical              = p.datum("UwBasisNonmedical"           
   );
-        UwBasisSimplified              = p.datum("UwBasisSimplified"           
   );
-        UwBasisGuaranteed              = p.datum("UwBasisGuaranteed"           
   );
-        UwClassPreferred               = p.datum("UwClassPreferred"            
   );
-        UwClassStandard                = p.datum("UwClassStandard"             
   );
-        UwClassRated                   = p.datum("UwClassRated"                
   );
-        UwClassUltra                   = p.datum("UwClassUltra"                
   );
+        DboNameLevel                  = p.datum("DboNameLevel"                 
  );
+        DboNameIncreasing             = p.datum("DboNameIncreasing"            
  );
+        DboNameMinDeathBenefit        = p.datum("DboNameMinDeathBenefit"       
  );
+        GenAcctName                   = p.datum("GenAcctName"                  
  );
+        GenAcctNameElaborated         = p.datum("GenAcctNameElaborated"        
  );
+        SepAcctName                   = p.datum("SepAcctName"                  
  );
+        SpecAmtName                   = p.datum("SpecAmtName"                  
  );
+        SpecAmtNameElaborated         = p.datum("SpecAmtNameElaborated"        
  );
+        UwBasisMedical                = p.datum("UwBasisMedical"               
  );
+        UwBasisParamedical            = p.datum("UwBasisParamedical"           
  );
+        UwBasisNonmedical             = p.datum("UwBasisNonmedical"            
  );
+        UwBasisSimplified             = p.datum("UwBasisSimplified"            
  );
+        UwBasisGuaranteed             = p.datum("UwBasisGuaranteed"            
  );
+        UwClassPreferred              = p.datum("UwClassPreferred"             
  );
+        UwClassStandard               = p.datum("UwClassStandard"              
  );
+        UwClassRated                  = p.datum("UwClassRated"                 
  );
+        UwClassUltra                  = p.datum("UwClassUltra"                 
  );
 
         // Ledger column definitions.
 
-        AccountValueFootnote           = p.datum("AccountValueFootnote"        
   );
-        AttainedAgeFootnote            = p.datum("AttainedAgeFootnote"         
   );
-        CashSurrValueFootnote          = p.datum("CashSurrValueFootnote"       
   );
-        DeathBenefitFootnote           = p.datum("DeathBenefitFootnote"        
   );
-        InitialPremiumFootnote         = p.datum("InitialPremiumFootnote"      
   );
-        NetPremiumFootnote             = p.datum("NetPremiumFootnote"          
   );
-        GrossPremiumFootnote           = p.datum("GrossPremiumFootnote"        
   );
-        OutlayFootnote                 = p.datum("OutlayFootnote"              
   );
-        PolicyYearFootnote             = p.datum("PolicyYearFootnote"          
   );
+        AccountValueFootnote          = p.datum("AccountValueFootnote"         
  );
+        AttainedAgeFootnote           = p.datum("AttainedAgeFootnote"          
  );
+        CashSurrValueFootnote         = p.datum("CashSurrValueFootnote"        
  );
+        DeathBenefitFootnote          = p.datum("DeathBenefitFootnote"         
  );
+        InitialPremiumFootnote        = p.datum("InitialPremiumFootnote"       
  );
+        NetPremiumFootnote            = p.datum("NetPremiumFootnote"           
  );
+        GrossPremiumFootnote          = p.datum("GrossPremiumFootnote"         
  );
+        OutlayFootnote                = p.datum("OutlayFootnote"               
  );
+        PolicyYearFootnote            = p.datum("PolicyYearFootnote"           
  );
 
         // Terse rider names.
 
-        ADDTerseName                   = p.datum("ADDTerseName"                
   );
-        InsurabilityTerseName          = p.datum("InsurabilityTerseName"       
   );
-        ChildTerseName                 = p.datum("ChildTerseName"              
   );
-        SpouseTerseName                = p.datum("SpouseTerseName"             
   );
-        TermTerseName                  = p.datum("TermTerseName"               
   );
-        WaiverTerseName                = p.datum("WaiverTerseName"             
   );
-        AccelBftRiderTerseName         = p.datum("AccelBftRiderTerseName"      
   );
-        OverloanRiderTerseName         = p.datum("OverloanRiderTerseName"      
   );
+        ADDTerseName                  = p.datum("ADDTerseName"                 
  );
+        InsurabilityTerseName         = p.datum("InsurabilityTerseName"        
  );
+        ChildTerseName                = p.datum("ChildTerseName"               
  );
+        SpouseTerseName               = p.datum("SpouseTerseName"              
  );
+        TermTerseName                 = p.datum("TermTerseName"                
  );
+        WaiverTerseName               = p.datum("WaiverTerseName"              
  );
+        AccelBftRiderTerseName        = p.datum("AccelBftRiderTerseName"       
  );
+        OverloanRiderTerseName        = p.datum("OverloanRiderTerseName"       
  );
 
         // Rider footnotes.
 
-        ADDFootnote                    = p.datum("ADDFootnote"                 
   );
-        ChildFootnote                  = p.datum("ChildFootnote"               
   );
-        SpouseFootnote                 = p.datum("SpouseFootnote"              
   );
-        TermFootnote                   = p.datum("TermFootnote"                
   );
-        WaiverFootnote                 = p.datum("WaiverFootnote"              
   );
-        AccelBftRiderFootnote          = p.datum("AccelBftRiderFootnote"       
   );
-        OverloanRiderFootnote          = p.datum("OverloanRiderFootnote"       
   );
+        ADDFootnote                   = p.datum("ADDFootnote"                  
  );
+        ChildFootnote                 = p.datum("ChildFootnote"                
  );
+        SpouseFootnote                = p.datum("SpouseFootnote"               
  );
+        TermFootnote                  = p.datum("TermFootnote"                 
  );
+        WaiverFootnote                = p.datum("WaiverFootnote"               
  );
+        AccelBftRiderFootnote         = p.datum("AccelBftRiderFootnote"        
  );
+        OverloanRiderFootnote         = p.datum("OverloanRiderFootnote"        
  );
 
         // Group quote footnotes.
 
-        GroupQuoteShortProductName     = p.datum("GroupQuoteShortProductName"  
   );
-        GroupQuoteIsNotAnOffer         = p.datum("GroupQuoteIsNotAnOffer"      
   );
-        GroupQuoteRidersFooter         = p.datum("GroupQuoteRidersFooter"      
   );
-        GroupQuotePolicyFormId         = p.datum("GroupQuotePolicyFormId"      
   );
-        GroupQuoteStateVariations      = p.datum("GroupQuoteStateVariations"   
   );
-        GroupQuoteProspectus           = p.datum("GroupQuoteProspectus"        
   );
-        GroupQuoteUnderwriter          = p.datum("GroupQuoteUnderwriter"       
   );
-        GroupQuoteBrokerDealer         = p.datum("GroupQuoteBrokerDealer"      
   );
-        GroupQuoteRubricMandatory      = p.datum("GroupQuoteRubricMandatory"   
   );
-        GroupQuoteRubricVoluntary      = p.datum("GroupQuoteRubricVoluntary"   
   );
-        GroupQuoteRubricFusion         = p.datum("GroupQuoteRubricFusion"      
   );
-        GroupQuoteFooterMandatory      = p.datum("GroupQuoteFooterMandatory"   
   );
-        GroupQuoteFooterVoluntary      = p.datum("GroupQuoteFooterVoluntary"   
   );
-        GroupQuoteFooterFusion         = p.datum("GroupQuoteFooterFusion"      
   );
+        GroupQuoteShortProductName    = p.datum("GroupQuoteShortProductName"   
  );
+        GroupQuoteIsNotAnOffer        = p.datum("GroupQuoteIsNotAnOffer"       
  );
+        GroupQuoteRidersFooter        = p.datum("GroupQuoteRidersFooter"       
  );
+        GroupQuotePolicyFormId        = p.datum("GroupQuotePolicyFormId"       
  );
+        GroupQuoteStateVariations     = p.datum("GroupQuoteStateVariations"    
  );
+        GroupQuoteProspectus          = p.datum("GroupQuoteProspectus"         
  );
+        GroupQuoteUnderwriter         = p.datum("GroupQuoteUnderwriter"        
  );
+        GroupQuoteBrokerDealer        = p.datum("GroupQuoteBrokerDealer"       
  );
+        GroupQuoteRubricMandatory     = p.datum("GroupQuoteRubricMandatory"    
  );
+        GroupQuoteRubricVoluntary     = p.datum("GroupQuoteRubricVoluntary"    
  );
+        GroupQuoteRubricFusion        = p.datum("GroupQuoteRubricFusion"       
  );
+        GroupQuoteFooterMandatory     = p.datum("GroupQuoteFooterMandatory"    
  );
+        GroupQuoteFooterVoluntary     = p.datum("GroupQuoteFooterVoluntary"    
  );
+        GroupQuoteFooterFusion        = p.datum("GroupQuoteFooterFusion"       
  );
 
         // Premium-specific footnotes.
 
-        MinimumPremiumFootnote         = p.datum("MinimumPremiumFootnote"      
   );
-        PremAllocationFootnote         = p.datum("PremAllocationFootnote"      
   );
+        MinimumPremiumFootnote        = p.datum("MinimumPremiumFootnote"       
  );
+        PremAllocationFootnote        = p.datum("PremAllocationFootnote"       
  );
 
         // Miscellaneous other footnotes.
 
-        InterestDisclaimer             = p.datum("InterestDisclaimer"          
   );
-        GuarMortalityFootnote          = p.datum("GuarMortalityFootnote"       
   );
-        ProductDescription             = p.datum("ProductDescription"          
   );
-        StableValueFootnote            = p.datum("StableValueFootnote"         
   );
-        NoVanishPremiumFootnote        = p.datum("NoVanishPremiumFootnote"     
   );
-        RejectPremiumFootnote          = p.datum("RejectPremiumFootnote"       
   );
-        ExpRatingFootnote              = p.datum("ExpRatingFootnote"           
   );
-        MortalityBlendFootnote         = p.datum("MortalityBlendFootnote"      
   );
-        HypotheticalRatesFootnote      = p.datum("HypotheticalRatesFootnote"   
   );
-        SalesLoadRefundFootnote        = p.datum("SalesLoadRefundFootnote"     
   );
-        NoLapseEverFootnote            = p.datum("NoLapseEverFootnote"         
   );
-        NoLapseFootnote                = p.datum("NoLapseFootnote"             
   );
-        MarketValueAdjFootnote         = p.datum("MarketValueAdjFootnote"      
   );
-        ExchangeChargeFootnote0        = p.datum("ExchangeChargeFootnote0"     
   );
-        CurrentValuesFootnote          = p.datum("CurrentValuesFootnote"       
   );
-        DBOption1Footnote              = p.datum("DBOption1Footnote"           
   );
-        DBOption2Footnote              = p.datum("DBOption2Footnote"           
   );
-        DBOption3Footnote              = p.datum("DBOption3Footnote"           
   );
-        MinDeathBenefitFootnote        = p.datum("MinDeathBenefitFootnote"     
   );
-        ExpRatRiskChargeFootnote       = p.datum("ExpRatRiskChargeFootnote"    
   );
-        ExchangeChargeFootnote1        = p.datum("ExchangeChargeFootnote1"     
   );
-        FlexiblePremiumFootnote        = p.datum("FlexiblePremiumFootnote"     
   );
-        GuaranteedValuesFootnote       = p.datum("GuaranteedValuesFootnote"    
   );
-        CreditingRateFootnote          = p.datum("CreditingRateFootnote"       
   );
-        GuaranteedCreditRateFootnote   = 
p.datum("GuaranteedCreditRateFootnote"   );
-        GrossRateFootnote              = p.datum("GrossRateFootnote"           
   );
-        NetRateFootnote                = p.datum("NetRateFootnote"             
   );
-        MecFootnote                    = p.datum("MecFootnote"                 
   );
-        GptFootnote                    = p.datum("GptFootnote"                 
   );
-        MidpointValuesFootnote         = p.datum("MidpointValuesFootnote"      
   );
-        SinglePremiumFootnote          = p.datum("SinglePremiumFootnote"       
   );
-        MonthlyChargesFootnote         = p.datum("MonthlyChargesFootnote"      
   );
-        UltCreditingRateFootnote       = p.datum("UltCreditingRateFootnote"    
   );
-        UltCreditingRateHeader         = p.datum("UltCreditingRateHeader"      
   );
-        MaxNaarFootnote                = p.datum("MaxNaarFootnote"             
   );
-        PremTaxSurrChgFootnote         = p.datum("PremTaxSurrChgFootnote"      
   );
-        PolicyFeeFootnote              = p.datum("PolicyFeeFootnote"           
   );
-        AssetChargeFootnote            = p.datum("AssetChargeFootnote"         
   );
-        InvestmentIncomeFootnote       = p.datum("InvestmentIncomeFootnote"    
   );
-        IrrDbFootnote                  = p.datum("IrrDbFootnote"               
   );
-        IrrCsvFootnote                 = p.datum("IrrCsvFootnote"              
   );
-        MortalityChargesFootnote       = p.datum("MortalityChargesFootnote"    
   );
-        LoanAndWithdrawalFootnote      = p.datum("LoanAndWithdrawalFootnote"   
   );
-        LoanFootnote                   = p.datum("LoanFootnote"                
   );
-        ImprimaturPresale              = p.datum("ImprimaturPresale"           
   );
-        ImprimaturPresaleComposite     = p.datum("ImprimaturPresaleComposite"  
   );
-        ImprimaturInforce              = p.datum("ImprimaturInforce"           
   );
-        ImprimaturInforceComposite     = p.datum("ImprimaturInforceComposite"  
   );
-        StateMarketingImprimatur       = p.datum("StateMarketingImprimatur"    
   );
-        InforceNonGuaranteedFootnote0  = 
p.datum("InforceNonGuaranteedFootnote0"  );
-        InforceNonGuaranteedFootnote1  = 
p.datum("InforceNonGuaranteedFootnote1"  );
-        InforceNonGuaranteedFootnote2  = 
p.datum("InforceNonGuaranteedFootnote2"  );
-        InforceNonGuaranteedFootnote3  = 
p.datum("InforceNonGuaranteedFootnote3"  );
-        NonGuaranteedFootnote          = p.datum("NonGuaranteedFootnote"       
   );
-        NonGuaranteedFootnote1         = p.datum("NonGuaranteedFootnote1"      
   );
-        NonGuaranteedFootnote1Tx       = p.datum("NonGuaranteedFootnote1Tx"    
   );
-        MonthlyChargesPaymentFootnote  = 
p.datum("MonthlyChargesPaymentFootnote"  );
-        SurrenderFootnote              = p.datum("SurrenderFootnote"           
   );
-        PortabilityFootnote            = p.datum("PortabilityFootnote"         
   );
-        FundRateFootnote               = p.datum("FundRateFootnote"            
   );
-        IssuingCompanyFootnote         = p.datum("IssuingCompanyFootnote"      
   );
-        SubsidiaryFootnote             = p.datum("SubsidiaryFootnote"          
   );
-        PlacementAgentFootnote         = p.datum("PlacementAgentFootnote"      
   );
-        MarketingNameFootnote          = p.datum("MarketingNameFootnote"       
   );
-        GuarIssueDisclaimerNcSc        = p.datum("GuarIssueDisclaimerNcSc"     
   );
-        GuarIssueDisclaimerMd          = p.datum("GuarIssueDisclaimerMd"       
   );
-        GuarIssueDisclaimerTx          = p.datum("GuarIssueDisclaimerTx"       
   );
-        IllRegCertAgent                = p.datum("IllRegCertAgent"             
   );
-        IllRegCertAgentIl              = p.datum("IllRegCertAgentIl"           
   );
-        IllRegCertAgentTx              = p.datum("IllRegCertAgentTx"           
   );
-        IllRegCertClient               = p.datum("IllRegCertClient"            
   );
-        IllRegCertClientIl             = p.datum("IllRegCertClientIl"          
   );
-        IllRegCertClientTx             = p.datum("IllRegCertClientTx"          
   );
+        InterestDisclaimer            = p.datum("InterestDisclaimer"           
  );
+        GuarMortalityFootnote         = p.datum("GuarMortalityFootnote"        
  );
+        ProductDescription            = p.datum("ProductDescription"           
  );
+        StableValueFootnote           = p.datum("StableValueFootnote"          
  );
+        NoVanishPremiumFootnote       = p.datum("NoVanishPremiumFootnote"      
  );
+        RejectPremiumFootnote         = p.datum("RejectPremiumFootnote"        
  );
+        ExpRatingFootnote             = p.datum("ExpRatingFootnote"            
  );
+        MortalityBlendFootnote        = p.datum("MortalityBlendFootnote"       
  );
+        HypotheticalRatesFootnote     = p.datum("HypotheticalRatesFootnote"    
  );
+        SalesLoadRefundFootnote       = p.datum("SalesLoadRefundFootnote"      
  );
+        NoLapseEverFootnote           = p.datum("NoLapseEverFootnote"          
  );
+        NoLapseFootnote               = p.datum("NoLapseFootnote"              
  );
+        MarketValueAdjFootnote        = p.datum("MarketValueAdjFootnote"       
  );
+        ExchangeChargeFootnote0       = p.datum("ExchangeChargeFootnote0"      
  );
+        CurrentValuesFootnote         = p.datum("CurrentValuesFootnote"        
  );
+        DBOption1Footnote             = p.datum("DBOption1Footnote"            
  );
+        DBOption2Footnote             = p.datum("DBOption2Footnote"            
  );
+        DBOption3Footnote             = p.datum("DBOption3Footnote"            
  );
+        MinDeathBenefitFootnote       = p.datum("MinDeathBenefitFootnote"      
  );
+        ExpRatRiskChargeFootnote      = p.datum("ExpRatRiskChargeFootnote"     
  );
+        ExchangeChargeFootnote1       = p.datum("ExchangeChargeFootnote1"      
  );
+        FlexiblePremiumFootnote       = p.datum("FlexiblePremiumFootnote"      
  );
+        GuaranteedValuesFootnote      = p.datum("GuaranteedValuesFootnote"     
  );
+        CreditingRateFootnote         = p.datum("CreditingRateFootnote"        
  );
+        GuaranteedCreditRateFootnote  = p.datum("GuaranteedCreditRateFootnote" 
  );
+        GrossRateFootnote             = p.datum("GrossRateFootnote"            
  );
+        NetRateFootnote               = p.datum("NetRateFootnote"              
  );
+        MecFootnote                   = p.datum("MecFootnote"                  
  );
+        GptFootnote                   = p.datum("GptFootnote"                  
  );
+        MidpointValuesFootnote        = p.datum("MidpointValuesFootnote"       
  );
+        SinglePremiumFootnote         = p.datum("SinglePremiumFootnote"        
  );
+        MonthlyChargesFootnote        = p.datum("MonthlyChargesFootnote"       
  );
+        UltCreditingRateFootnote      = p.datum("UltCreditingRateFootnote"     
  );
+        UltCreditingRateHeader        = p.datum("UltCreditingRateHeader"       
  );
+        MaxNaarFootnote               = p.datum("MaxNaarFootnote"              
  );
+        PremTaxSurrChgFootnote        = p.datum("PremTaxSurrChgFootnote"       
  );
+        PolicyFeeFootnote             = p.datum("PolicyFeeFootnote"            
  );
+        AssetChargeFootnote           = p.datum("AssetChargeFootnote"          
  );
+        InvestmentIncomeFootnote      = p.datum("InvestmentIncomeFootnote"     
  );
+        IrrDbFootnote                 = p.datum("IrrDbFootnote"                
  );
+        IrrCsvFootnote                = p.datum("IrrCsvFootnote"               
  );
+        MortalityChargesFootnote      = p.datum("MortalityChargesFootnote"     
  );
+        LoanAndWithdrawalFootnote     = p.datum("LoanAndWithdrawalFootnote"    
  );
+        LoanFootnote                  = p.datum("LoanFootnote"                 
  );
+        ImprimaturPresale             = p.datum("ImprimaturPresale"            
  );
+        ImprimaturPresaleComposite    = p.datum("ImprimaturPresaleComposite"   
  );
+        ImprimaturInforce             = p.datum("ImprimaturInforce"            
  );
+        ImprimaturInforceComposite    = p.datum("ImprimaturInforceComposite"   
  );
+        StateMarketingImprimatur      = p.datum("StateMarketingImprimatur"     
  );
+        InforceNonGuaranteedFootnote0 = 
p.datum("InforceNonGuaranteedFootnote0"  );
+        InforceNonGuaranteedFootnote1 = 
p.datum("InforceNonGuaranteedFootnote1"  );
+        InforceNonGuaranteedFootnote2 = 
p.datum("InforceNonGuaranteedFootnote2"  );
+        InforceNonGuaranteedFootnote3 = 
p.datum("InforceNonGuaranteedFootnote3"  );
+        NonGuaranteedFootnote         = p.datum("NonGuaranteedFootnote"        
  );
+        NonGuaranteedFootnote1        = p.datum("NonGuaranteedFootnote1"       
  );
+        NonGuaranteedFootnote1Tx      = p.datum("NonGuaranteedFootnote1Tx"     
  );
+        MonthlyChargesPaymentFootnote = 
p.datum("MonthlyChargesPaymentFootnote"  );
+        SurrenderFootnote             = p.datum("SurrenderFootnote"            
  );
+        PortabilityFootnote           = p.datum("PortabilityFootnote"          
  );
+        FundRateFootnote              = p.datum("FundRateFootnote"             
  );
+        IssuingCompanyFootnote        = p.datum("IssuingCompanyFootnote"       
  );
+        SubsidiaryFootnote            = p.datum("SubsidiaryFootnote"           
  );
+        PlacementAgentFootnote        = p.datum("PlacementAgentFootnote"       
  );
+        MarketingNameFootnote         = p.datum("MarketingNameFootnote"        
  );
+        GuarIssueDisclaimerNcSc       = p.datum("GuarIssueDisclaimerNcSc"      
  );
+        GuarIssueDisclaimerMd         = p.datum("GuarIssueDisclaimerMd"        
  );
+        GuarIssueDisclaimerTx         = p.datum("GuarIssueDisclaimerTx"        
  );
+        IllRegCertAgent               = p.datum("IllRegCertAgent"              
  );
+        IllRegCertAgentIl             = p.datum("IllRegCertAgentIl"            
  );
+        IllRegCertAgentTx             = p.datum("IllRegCertAgentTx"            
  );
+        IllRegCertClient              = p.datum("IllRegCertClient"             
  );
+        IllRegCertClientIl            = p.datum("IllRegCertClientIl"           
  );
+        IllRegCertClientTx            = p.datum("IllRegCertClientTx"           
  );
         }
 
     // Strings from class Input.
 
-    ProductName             = b->yare_input_.ProductName;
-    ProducerName            = b->yare_input_.AgentName;
+    ProductName                = b->yare_input_.ProductName;
+    ProducerName               = b->yare_input_.AgentName;
 
     std::string const agent_city     = b->yare_input_.AgentCity;
     std::string const agent_state    = mc_str(b->yare_input_.AgentState);
@@ -498,19 +498,19 @@ void LedgerInvariant::Init(BasicValues const* b)
         agent_city_etc += " " + agent_zip_code;
         }
 
-    ProducerStreet          = b->yare_input_.AgentAddress;
-    ProducerCityEtc         = agent_city_etc;
-    ProducerPhone           = b->yare_input_.AgentPhone;
-    ProducerId              = b->yare_input_.AgentId;
+    ProducerStreet             = b->yare_input_.AgentAddress;
+    ProducerCityEtc            = agent_city_etc;
+    ProducerPhone              = b->yare_input_.AgentPhone;
+    ProducerId                 = b->yare_input_.AgentId;
 
-    CorpName                = b->yare_input_.CorporationName;
+    CorpName                   = b->yare_input_.CorporationName;
 
-    MasterContractNumber    = b->yare_input_.MasterContractNumber;
-    ContractNumber          = b->yare_input_.ContractNumber;
+    MasterContractNumber       = b->yare_input_.MasterContractNumber;
+    ContractNumber             = b->yare_input_.ContractNumber;
 
-    Insured1                = b->yare_input_.InsuredName;
-    Gender                  = mc_str(b->yare_input_.Gender);
-    UWType                  = mc_str(b->yare_input_.GroupUnderwritingType);
+    Insured1                   = b->yare_input_.InsuredName;
+    Gender                     = mc_str(b->yare_input_.Gender);
+    UWType                     = mc_str(b->yare_input_.GroupUnderwritingType);
 
     // This could be factored out if it ever needs to be reused.
     //
@@ -537,17 +537,17 @@ void LedgerInvariant::Init(BasicValues const* b)
         throw std::logic_error("Unknown oe_smoker_nonsmoker convention.");
         }
 
-    UWClass                 = mc_str(b->yare_input_.UnderwritingClass);
-    SubstandardTable        = mc_str(b->yare_input_.SubstandardTable);
+    UWClass                    = mc_str(b->yare_input_.UnderwritingClass);
+    SubstandardTable           = mc_str(b->yare_input_.SubstandardTable);
 
-    DefnLifeIns             = mc_str(b->yare_input_.DefinitionOfLifeInsurance);
-    DefnMaterialChange      = 
mc_str(b->yare_input_.DefinitionOfMaterialChange);
-    AvoidMec                = mc_str(b->yare_input_.AvoidMecMethod);
-    PartMortTableName       = "1983 GAM"; // TODO ?? Hardcoded.
-    StateOfJurisdiction     = mc_str(b->GetStateOfJurisdiction());
-    PremiumTaxState         = mc_str(b->GetPremiumTaxState());
-    CountryIso3166Abbrev = mc_str(b->yare_input_.Country);
-    Comments             = b->yare_input_.Comments;
+    DefnLifeIns                = 
mc_str(b->yare_input_.DefinitionOfLifeInsurance);
+    DefnMaterialChange         = 
mc_str(b->yare_input_.DefinitionOfMaterialChange);
+    AvoidMec                   = mc_str(b->yare_input_.AvoidMecMethod);
+    PartMortTableName          = "1983 GAM"; // TODO ?? Hardcoded.
+    StateOfJurisdiction        = mc_str(b->GetStateOfJurisdiction());
+    PremiumTaxState            = mc_str(b->GetPremiumTaxState());
+    CountryIso3166Abbrev       = mc_str(b->yare_input_.Country);
+    Comments                   = b->yare_input_.Comments;
 
     SupplementalReportColumn00 = 
mc_str(b->yare_input_.SupplementalReportColumn00);
     SupplementalReportColumn01 = 
mc_str(b->yare_input_.SupplementalReportColumn01);
@@ -570,8 +570,8 @@ void LedgerInvariant::Init(BasicValues const* b)
         :(mce_mdb     == init_dbo) ? dbo_name_mdb
         :throw std::logic_error("Unrecognized initial death benefit option.")
         ;
-    InitEeMode              = mc_str(b->Outlay_->ee_premium_modes()[0]);
-    InitErMode              = mc_str(b->Outlay_->er_premium_modes()[0]);
+    InitEeMode                 = mc_str(b->Outlay_->ee_premium_modes()[0]);
+    InitErMode                 = mc_str(b->Outlay_->er_premium_modes()[0]);
 
     // Special-case vectors.
 
@@ -638,16 +638,16 @@ void LedgerInvariant::Init(BasicValues const* b)
 // premium-strategy calculations. Use E[er]GrossPmt for illustrations:
 // they're *output* values that result from transaction processing.
 
-    EePmt           = b->Outlay_->ee_modal_premiums();
-    ErPmt           = b->Outlay_->er_modal_premiums();
+    EePmt                      = b->Outlay_->ee_modal_premiums();
+    ErPmt                      = b->Outlay_->er_modal_premiums();
 
     // Special-case strings.
 
-    EffDate                 = calendar_date(b->yare_input_.EffectiveDate     
).str();
-    DateOfBirth             = calendar_date(b->yare_input_.DateOfBirth       
).str();
-    LastCoiReentryDate      = 
calendar_date(b->yare_input_.LastCoiReentryDate).str();
-    ListBillDate            = calendar_date(b->yare_input_.ListBillDate      
).str();
-    InforceAsOfDate         = calendar_date(b->yare_input_.InforceAsOfDate   
).str();
+    EffDate                    = calendar_date(b->yare_input_.EffectiveDate    
 ).str();
+    DateOfBirth                = calendar_date(b->yare_input_.DateOfBirth      
 ).str();
+    LastCoiReentryDate         = 
calendar_date(b->yare_input_.LastCoiReentryDate).str();
+    ListBillDate               = calendar_date(b->yare_input_.ListBillDate     
 ).str();
+    InforceAsOfDate            = calendar_date(b->yare_input_.InforceAsOfDate  
 ).str();
 
     // irr_initialized_ is deliberately not set here: it's not
     // encompassed by 'FullyInitialized'.
diff --git a/ledger_variant.hpp b/ledger_variant.hpp
index d4fc641..6d0d7db 100644
--- a/ledger_variant.hpp
+++ b/ledger_variant.hpp
@@ -137,8 +137,8 @@ class LMI_SO LedgerVariant final
     std::vector<double> KFactor;
 
     // Nonscalable scalars.
-    double          LapseMonth;
-    double          LapseYear;
+    double LapseMonth;
+    double LapseYear;
 
   private:
     void Alloc(int len);
@@ -147,12 +147,12 @@ class LMI_SO LedgerVariant final
     void Init();
 
     // Nonscalable scalars.
-    double  InitAnnLoanCredRate;
-    double  InitAnnGenAcctInt;
-    double  InitAnnSepAcctGrossInt;
-    double  InitAnnSepAcctNetInt;
-    double  InitTgtPremHiLoadRate; // Rate on first dollar, at maximum premium 
tax rate.
-    double  InitMlyPolFee;         // Nonscalable: policy parameter (unlike 
'PolicyFee').
+    double InitAnnLoanCredRate;
+    double InitAnnGenAcctInt;
+    double InitAnnSepAcctGrossInt;
+    double InitAnnSepAcctNetInt;
+    double InitTgtPremHiLoadRate; // Rate on first dollar, at maximum premium 
tax rate.
+    double InitMlyPolFee;         // Nonscalable: policy parameter (unlike 
'PolicyFee').
 
     // Special cases.
     int              Length;



reply via email to

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