[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] valyuta/007 0b887792 10/10: Change many more ledger
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] valyuta/007 0b887792 10/10: Change many more ledger fields to cents |
Date: |
Tue, 19 Apr 2022 19:00:43 -0400 (EDT) |
branch: valyuta/007
commit 0b8877923e6e76d65eb1452207c1315cfcedbe4b
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Change many more ledger fields to cents
These seem to be the last of the fields whose values are never read back
from the ledger object into class AccountValue. There are about a dozen
more that don't meet that criterion, and must be handled with care.
---
ihs_acctval.cpp | 44 ++++++++++++++++++-----------------
ihs_avmly.cpp | 6 ++---
ledger_evaluator.cpp | 59 +++++++++++++++++++++++++----------------------
ledger_invariant_init.cpp | 8 +++----
ledger_text_formats.cpp | 46 ++++++++++++++++++------------------
5 files changed, 84 insertions(+), 79 deletions(-)
diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index bb30266d..c2489adc 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -498,8 +498,8 @@ void AccountValue::InitializeLife(mcenum_run_basis a_Basis)
LMI_ASSERT(materially_equal(gpt7702_->raw_glp(), Irc7702_->glp()));
LMI_ASSERT(materially_equal(gpt7702_->raw_gsp(), Irc7702_->gsp()));
- InvariantValues().InitGLP = dblize(gpt7702_->rounded_glp());
- InvariantValues().InitGSP = dblize(gpt7702_->rounded_gsp());
+ InvariantValues().InitGLP = centize(gpt7702_->rounded_glp());
+ InvariantValues().InitGSP = centize(gpt7702_->rounded_gsp());
// This is notionally called once per *current*-basis run
// and actually called once per run, with calculations suppressed
@@ -972,7 +972,7 @@ void AccountValue::InitializeSpecAmt()
if(0 == Year)
{
- InvariantValues().InitTgtPrem = dblize(AnnualTargetPrem);
+ InvariantValues().InitTgtPrem = centize(AnnualTargetPrem);
}
// TODO ?? Perform specamt strategy here?
@@ -1011,8 +1011,8 @@ void AccountValue::set_list_bill_premium()
,Outlay_->er_premium_modes()[Year]
,base_specamt(Year)
);
- InvariantValues().ListBillPremium = dblize(z);
- InvariantValues().ErListBillPremium = dblize(z);
+ InvariantValues().ListBillPremium = centize(z);
+ InvariantValues().ErListBillPremium = centize(z);
}
else
{
@@ -1022,9 +1022,9 @@ void AccountValue::set_list_bill_premium()
,base_specamt(Year)
,term_specamt(Year)
);
- InvariantValues().EeListBillPremium = dblize(z.first);
- InvariantValues().ErListBillPremium = dblize(z.second);
- InvariantValues().ListBillPremium = dblize(z.first + z.second);
+ InvariantValues().EeListBillPremium = centize(z.first);
+ InvariantValues().ErListBillPremium = centize(z.second);
+ InvariantValues().ListBillPremium = centize(z.first + z.second);
}
}
@@ -1228,11 +1228,11 @@ void AccountValue::FinalizeYear()
cv_7702 = std::max(cv_7702, HoneymoonValue);
VariantValues().AcctVal [Year] = dblize(total_av);
- VariantValues().AVGenAcct [Year] = dblize(AVGenAcct + AVRegLn + AVPrfLn);
- VariantValues().AVSepAcct [Year] = dblize(AVSepAcct);
+ VariantValues().AVGenAcct [Year] = centize(AVGenAcct + AVRegLn +
AVPrfLn);
+ VariantValues().AVSepAcct [Year] = centize(AVSepAcct);
VariantValues().DacTaxRsv [Year] = DacTaxRsv;
VariantValues().CSVNet [Year] = dblize(csv_net);
- VariantValues().CV7702 [Year] = dblize(cv_7702);
+ VariantValues().CV7702 [Year] = centize(cv_7702);
InvariantValues().Dcv [Year] = dblize(Dcv);
@@ -1245,7 +1245,7 @@ void AccountValue::FinalizeYear()
TxSetTermAmt();
// post values to LedgerVariant
InvariantValues().TermSpecAmt [Year] = dblize(TermSpecAmt);
- VariantValues().TermPurchased [Year] = dblize(TermDB);
+ VariantValues().TermPurchased [Year] = centize(TermDB);
// Add term rider DB
VariantValues().BaseDeathBft [Year] = centize(DBReflectingCorr);
VariantValues().EOYDeathBft [Year] = dblize(DBReflectingCorr + TermDB);
@@ -1253,15 +1253,15 @@ void AccountValue::FinalizeYear()
// Monthly deduction detail
VariantValues().COICharge [Year] = centize(YearsTotalCoiCharge) ;
- VariantValues().RiderCharges [Year] = dblize(YearsTotalRiderCharges) ;
+ VariantValues().RiderCharges [Year] = centize(YearsTotalRiderCharges)
;
VariantValues().AVRelOnDeath [Year] = YearsAVRelOnDeath ;
VariantValues().ClaimsPaid [Year] = YearsGrossClaims ;
VariantValues().DeathProceedsPaid [Year] = YearsDeathProceeds ;
VariantValues().NetClaims [Year] = YearsNetClaims ;
VariantValues().NetIntCredited [Year] =
centize(YearsTotalNetIntCredited);
- VariantValues().GrossIntCredited [Year] =
dblize(YearsTotalGrossIntCredited);
- VariantValues().LoanIntAccrued [Year] =
dblize(YearsTotalLoanIntAccrued);
- VariantValues().PolicyFee [Year] = dblize(YearsTotalPolicyFee) ;
+ VariantValues().GrossIntCredited [Year] =
centize(YearsTotalGrossIntCredited);
+ VariantValues().LoanIntAccrued [Year] =
centize(YearsTotalLoanIntAccrued);
+ VariantValues().PolicyFee [Year] = centize(YearsTotalPolicyFee)
;
VariantValues().DacTaxLoad [Year] = YearsTotalDacTaxLoad ;
VariantValues().SpecAmtLoad [Year] = centize(YearsTotalSpecAmtLoad) ;
VariantValues().PremTaxLoad [Year] = PremiumTax_->ytd_load() ;
@@ -1271,7 +1271,7 @@ void AccountValue::FinalizeYear()
+ YearsTotalGrossIntCredited
- YearsTotalNetIntCredited
;
- VariantValues().SepAcctCharges [Year] =
dblize(notional_sep_acct_charge);
+ VariantValues().SepAcctCharges [Year] =
centize(notional_sep_acct_charge);
// Record dynamic interest rate in ledger object.
//
@@ -1317,8 +1317,9 @@ void AccountValue::FinalizeYear()
// exist only as an XSL-FO legacy, and the whole
// $git grep -h '\<Init[A-Z]' ledger_invariant.hpp
// family should be eliminated.
- InvariantValues().InitBaseSpecAmt = InvariantValues().SpecAmt[0];
- InvariantValues().InitTermSpecAmt = InvariantValues().TermSpecAmt[0];
+ // CURRENCY !! KLUDGE 100.0 is a kludge to work around that kludge.
+ InvariantValues().InitBaseSpecAmt = InvariantValues().SpecAmt[0] *
100.0;
+ InvariantValues().InitTermSpecAmt = InvariantValues().TermSpecAmt[0] *
100.0;
InvariantValues().GrossPmt [Year] = 0.0;
InvariantValues().EeGrossPmt[Year] = 0.0;
@@ -1340,7 +1341,8 @@ void AccountValue::FinalizeYear()
}
if(0 == Year)
{
- InvariantValues().InitPrem = InvariantValues().GrossPmt[Year];
+ // CURRENCY !! KLUDGE 100.0
+ InvariantValues().InitPrem = InvariantValues().GrossPmt[Year] *
100.0;
}
LMI_ASSERT
(materially_equal
@@ -1355,7 +1357,7 @@ void AccountValue::FinalizeYear()
- InvariantValues().NewCashLoan[Year]
;
- InvariantValues().GptForceout[Year] = dblize(YearsTotalGptForceout);
+ InvariantValues().GptForceout[Year] = centize(YearsTotalGptForceout);
// SOMEDAY !! Not yet implemented.
// InvariantValues().NaarForceout[Year] =
InvariantValues().ErGrossPmt[Year];
diff --git a/ihs_avmly.cpp b/ihs_avmly.cpp
index 1eb241a3..85f961e6 100644
--- a/ihs_avmly.cpp
+++ b/ihs_avmly.cpp
@@ -2943,9 +2943,9 @@ void AccountValue::FinalizeMonth()
{
if(0 == Year && 0 == Month)
{
- InvariantValues().External1035Amount = dblize(External1035Amount);
- InvariantValues().Internal1035Amount = dblize(Internal1035Amount);
- InvariantValues().Dumpin = dblize(Dumpin);
+ InvariantValues().External1035Amount = centize(External1035Amount);
+ InvariantValues().Internal1035Amount = centize(Internal1035Amount);
+ InvariantValues().Dumpin = centize(Dumpin);
}
// TAXATION !! We could also capture MEC status on other bases here.
diff --git a/ledger_evaluator.cpp b/ledger_evaluator.cpp
index 91c04466..3292f663 100644
--- a/ledger_evaluator.cpp
+++ b/ledger_evaluator.cpp
@@ -436,6 +436,7 @@ format_map_t static_formats()
std::pair<int,oenum_format_style> f3(0, oe_format_percentage);
std::pair<int,oenum_format_style> f4(2, oe_format_percentage);
std::pair<int,oenum_format_style> f5(0, oe_cents_as_dollars);
+ std::pair<int,oenum_format_style> f6(2, oe_cents_as_dollars);
static format_map_t const format_map =
// > Special Formatting for Scalar Items
@@ -473,17 +474,17 @@ format_map_t static_formats()
// > Format as a number with thousand separators and two decimal places
(#,###,###.00)
// >
,{"CurrentCoiMultiplier" , f2}
- ,{"EeListBillPremium" , f2}
- ,{"ErListBillPremium" , f2}
+ ,{"EeListBillPremium" , f6}
+ ,{"ErListBillPremium" , f6}
,{"GuarPrem" , f2}
,{"InforceTaxBasis" , f2}
,{"InforceTotalAV" , f2}
- ,{"InitGLP" , f2}
- ,{"InitGSP" , f2}
- ,{"InitPrem" , f2}
+ ,{"InitGLP" , f6}
+ ,{"InitGSP" , f6}
+ ,{"InitPrem" , f6}
,{"InitSevenPayPrem" , f2}
- ,{"InitTgtPrem" , f2}
- ,{"ListBillPremium" , f2}
+ ,{"InitTgtPrem" , f6}
+ ,{"ListBillPremium" , f6}
// >
// F1: zero decimals, commas
// > Format as a number with thousand separators and no decimal places
(#,###,###)
@@ -493,10 +494,10 @@ format_map_t static_formats()
,{"AvgFund" , f1}
,{"ChildRiderAmount" , f1}
,{"CustomFund" , f1}
- ,{"Dumpin" , f1}
+ ,{"Dumpin" , f5}
,{"EndtAge" , f1}
,{"ErNotionallyPaysTerm" , f1}
- ,{"External1035Amount" , f1}
+ ,{"External1035Amount" , f5}
,{"GenderBlended" , f1}
,{"GreatestLapseDuration" , f1}
,{"GroupIndivSelection" , f1}
@@ -511,10 +512,10 @@ format_map_t static_formats()
,{"InforceIsMec" , f1}
,{"InforceMonth" , f1}
,{"InforceYear" , f1}
- ,{"InitBaseSpecAmt" , f1}
- ,{"InitTermSpecAmt" , f1}
- ,{"InitTotalSA" , f1}
- ,{"Internal1035Amount" , f1}
+ ,{"InitBaseSpecAmt" , f5}
+ ,{"InitTermSpecAmt" , f5}
+ ,{"InitTotalSA" , f5}
+ ,{"Internal1035Amount" , f5}
,{"IsInforce" , f1}
,{"IsMec" , f1}
,{"IsSinglePremium" , f1}
@@ -611,9 +612,9 @@ format_map_t static_formats()
// F1: zero decimals, commas
// > Format as a number with thousand separators and no decimal places
(#,###,##0)
// >
- ,{"AVGenAcct" , f1}
+ ,{"AVGenAcct" , f5}
,{"AVRelOnDeath" , f1}
- ,{"AVSepAcct" , f1}
+ ,{"AVSepAcct" , f5}
,{"AcctVal" , f1}
,{"AccumulatedPremium" , f1}
,{"AddonCompOnAssets" , f1}
@@ -623,7 +624,7 @@ format_map_t static_formats()
,{"BaseDeathBft" , f5}
,{"COICharge" , f5}
,{"CSVNet" , f1}
- ,{"CV7702" , f1}
+ ,{"CV7702" , f5}
,{"ClaimsPaid" , f1}
,{"Composite" , f1}
,{"DacTaxLoad" , f1}
@@ -639,12 +640,12 @@ format_map_t static_formats()
// ,{"ErMode" , f1} // Not numeric.
,{"ExpenseCharges" , f1}
,{"FundNumbers" , f1}
- ,{"GptForceout" , f1}
- ,{"GrossIntCredited" , f1}
+ ,{"GptForceout" , f5}
+ ,{"GrossIntCredited" , f5}
,{"GrossPmt" , f1}
,{"Loads" , f1}
,{"LoanInt" , f1}
- ,{"LoanIntAccrued" , f1}
+ ,{"LoanIntAccrued" , f5}
,{"ModalMinimumPremium" , f5}
,{"NaarForceout" , f1}
,{"NetClaims" , f1}
@@ -653,19 +654,19 @@ format_map_t static_formats()
,{"NetWD" , f1}
,{"NewCashLoan" , f1}
,{"Outlay" , f1}
- ,{"PolicyFee" , f1}
+ ,{"PolicyFee" , f5}
,{"PrefLoanBalance" , f1}
,{"PremTaxLoad" , f1}
,{"RefundableSalesLoad" , f1}
- ,{"RiderCharges" , f1}
+ ,{"RiderCharges" , f5}
,{"Salary" , f1}
- ,{"SepAcctCharges" , f1}
+ ,{"SepAcctCharges" , f5}
,{"SpecAmt" , f1}
,{"SpecAmtLoad" , f5}
,{"SpouseRiderAmount" , f1}
,{"SurrChg" , f1}
- ,{"TermPurchased" , f1}
- ,{"TermSpecAmt" , f1}
+ ,{"TermPurchased" , f5}
+ ,{"TermSpecAmt" , f5}
,{"TotalLoanBalance" , f1}
};
@@ -689,6 +690,8 @@ ledger_evaluator Ledger::make_evaluator() const
// std::pair<int,oenum_format_style> f2(2, oe_format_normal); // not used
std::pair<int,oenum_format_style> f3(0, oe_format_percentage);
// std::pair<int,oenum_format_style> f4(2, oe_format_percentage); // not used
+ std::pair<int,oenum_format_style> f5(0, oe_cents_as_dollars);
+// std::pair<int,oenum_format_style> f6(2, oe_cents_as_dollars); // not used
format_map_t format_map {static_formats()};
@@ -758,7 +761,7 @@ ledger_evaluator Ledger::make_evaluator() const
for(int j = 0; j < max_duration; ++j)
{
PremiumLoad[j] = invar.GrossPmt[j] - curr.NetPmt[j];
- MiscCharges[j] = curr.SpecAmtLoad[j] / 100.0 + curr.PolicyFee[j];
+ MiscCharges[j] = curr.SpecAmtLoad[j] + curr.PolicyFee[j];
}
vectors ["PremiumLoad"] = &PremiumLoad;
@@ -769,7 +772,7 @@ ledger_evaluator Ledger::make_evaluator() const
vectors ["MiscCharges"] = &MiscCharges;
title_map ["MiscCharges"] = "Miscellaneous\nCharges";
mask_map ["MiscCharges"] = "999,999,999";
- format_map["MiscCharges"] = f1;
+ format_map["MiscCharges"] = f5;
std::vector<double> NetDeathBenefit(curr.EOYDeathBft);
NetDeathBenefit -= curr.TotalLoanBalance;
@@ -786,8 +789,8 @@ ledger_evaluator Ledger::make_evaluator() const
title_map ["SupplDeathBft_Guaranteed"] = "Guar Suppl\nDeath\nBenefit";
mask_map ["SupplDeathBft_Current" ] = "999,999,999";
mask_map ["SupplDeathBft_Guaranteed"] = "999,999,999";
- format_map["SupplDeathBft_Current" ] = f1;
- format_map["SupplDeathBft_Guaranteed"] = f1;
+ format_map["SupplDeathBft_Current" ] = f5;
+ format_map["SupplDeathBft_Guaranteed"] = f5;
std::vector<double> SupplSpecAmt(invar.TermSpecAmt);
vectors ["SupplSpecAmt" ] = &SupplSpecAmt;
diff --git a/ledger_invariant_init.cpp b/ledger_invariant_init.cpp
index 774ae9cc..4f9da0a9 100644
--- a/ledger_invariant_init.cpp
+++ b/ledger_invariant_init.cpp
@@ -158,8 +158,8 @@ void LedgerInvariant::Init(BasicValues const* b)
// Scalable scalars.
// SOMEDAY !! Things indexed with '[0]' should probably use inforce year
instead.
- InitBaseSpecAmt = dblize(b->DeathBfts_->specamt()[0]);
- InitTermSpecAmt = TermSpecAmt[0];
+ InitBaseSpecAmt = 100.0 * dblize(b->DeathBfts_->specamt()[0]);
+ InitTermSpecAmt = 100.0 * TermSpecAmt[0];
ChildRiderAmount = b->yare_input_.ChildRiderAmount;
SpouseRiderAmount = b->yare_input_.SpouseRiderAmount;
@@ -747,8 +747,8 @@ void LedgerInvariant::ReInit(BasicValues const* b)
}
SpecAmt = dblize(b->DeathBfts_->specamt());
- InitBaseSpecAmt = dblize(b->DeathBfts_->specamt()[0]);
- InitTermSpecAmt = TermSpecAmt[0];
+ InitBaseSpecAmt = 100.0 * dblize(b->DeathBfts_->specamt()[0]);
+ InitTermSpecAmt = 100.0 * TermSpecAmt[0];
IsMec = false;
MecMonth = 11;
diff --git a/ledger_text_formats.cpp b/ledger_text_formats.cpp
index 80d88eb7..2955d5f6 100644
--- a/ledger_text_formats.cpp
+++ b/ledger_text_formats.cpp
@@ -264,20 +264,20 @@ std::string
calculation_summary_formatter::format_as_html() const
<< " <td align=\"right\" nowrap></td>\n"
<< " <td align=\"left\" nowrap></td>\n"
<< std::setprecision(2)
- << " <td align=\"right\" nowrap>" << invar_.InitGLP <<
"</td>\n"
+ << " <td align=\"right\" nowrap>" << invar_.InitGLP / 100.0 <<
"</td>\n"
<< " <td align=\"left\" nowrap> initial guideline level
premium</td>\n"
<< "</tr>\n"
<< "<tr>\n"
<< std::setprecision(0)
- << " <td align=\"right\" nowrap>" << invar_.InitBaseSpecAmt <<
"</td>\n"
+ << " <td align=\"right\" nowrap>" << invar_.InitBaseSpecAmt /
100.0 << "</td>\n"
<< " <td align=\"left\" nowrap> initial base specified
amount</td>\n"
<< std::setprecision(2)
- << " <td align=\"right\" nowrap>" << invar_.InitGSP <<
"</td>\n"
+ << " <td align=\"right\" nowrap>" << invar_.InitGSP / 100.0 <<
"</td>\n"
<< " <td align=\"left\" nowrap> initial guideline single
premium</td>\n"
<< "</tr>\n"
<< "<tr>\n"
<< std::setprecision(0)
- << " <td align=\"right\" nowrap>" << invar_.InitTermSpecAmt <<
"</td>\n"
+ << " <td align=\"right\" nowrap>" << invar_.InitTermSpecAmt /
100.0 << "</td>\n"
<< " <td align=\"left\" nowrap> initial term specified
amount</td>\n"
<< std::setprecision(2)
<< " <td align=\"right\" nowrap>" << invar_.InitSevenPayPrem <<
"</td>\n"
@@ -285,10 +285,10 @@ std::string
calculation_summary_formatter::format_as_html() const
<< "</tr>\n"
<< "<tr>\n"
<< std::setprecision(0)
- << " <td align=\"right\" nowrap>" << invar_.InitBaseSpecAmt +
invar_.InitTermSpecAmt << "</td>\n"
+ << " <td align=\"right\" nowrap>" << (invar_.InitBaseSpecAmt +
invar_.InitTermSpecAmt) / 100.0 << "</td>\n"
<< " <td align=\"left\" nowrap> initial total specified
amount</td>\n"
<< std::setprecision(2)
- << " <td align=\"right\" nowrap>" << invar_.InitTgtPrem <<
"</td>\n"
+ << " <td align=\"right\" nowrap>" << invar_.InitTgtPrem / 100.0
<< "</td>\n"
<< " <td align=\"left\" nowrap> initial target
premium</td>\n"
<< "</tr>\n"
<< "</table>\n"
@@ -360,25 +360,25 @@ std::string
calculation_summary_formatter::format_as_tsv() const
}
oss
<< std::setprecision(2)
- << invar_.InitGLP
+ << invar_.InitGLP / 100.0
<< "\tinitial guideline level premium\n"
<< std::setprecision(2)
- << invar_.InitGSP
+ << invar_.InitGSP / 100.0
<< "\tinitial guideline single premium\n"
<< std::setprecision(2)
<< invar_.InitSevenPayPrem
<< "\tinitial seven-pay premium\n"
<< std::setprecision(2)
- << invar_.InitTgtPrem
+ << invar_.InitTgtPrem / 100.0
<< "\tinitial target premium\n"
<< std::setprecision(0)
- << invar_.InitBaseSpecAmt
+ << invar_.InitBaseSpecAmt / 100.0
<< "\tinitial base specified amount\n"
<< std::setprecision(0)
- << invar_.InitTermSpecAmt
+ << invar_.InitTermSpecAmt / 100.0
<< "\tinitial term specified amount\n"
<< std::setprecision(0)
- << invar_.InitBaseSpecAmt + invar_.InitTermSpecAmt
+ << (invar_.InitBaseSpecAmt + invar_.InitTermSpecAmt) / 100.0
<< "\tinitial total specified amount\n"
;
}
@@ -461,10 +461,10 @@ void PrintCellTabDelimited
os << "Gender\t\t" << Invar.value_str("Gender" ) <<
'\n';
os << "Smoker\t\t" << Invar.value_str("Smoker" ) <<
'\n';
os << "IssueAge\t\t" << Invar.value_str("Age" ) <<
'\n';
- os << "InitBaseSpecAmt\t\t" << Invar.value_str("InitBaseSpecAmt") <<
'\n';
- os << "InitTermSpecAmt\t\t" << Invar.value_str("InitTermSpecAmt") <<
'\n';
+ os << "InitBaseSpecAmt\t\t" << Invar.value_str("InitBaseSpecAmt", 100.0)
<< '\n';
+ os << "InitTermSpecAmt\t\t" << Invar.value_str("InitTermSpecAmt", 100.0)
<< '\n';
double total_spec_amt = Invar.InitBaseSpecAmt + Invar.InitTermSpecAmt;
- os << " Total:\t\t" << value_cast<std::string>(total_spec_amt) <<
'\n';
+ os << " Total:\t\t" << value_cast<std::string>(total_spec_amt /
100.0) << '\n';
os << "PolicyMktgName\t\t" << Invar.value_str("PolicyMktgName" ) <<
'\n';
os << "PolicyForm\t\t" << Invar.value_str("PolicyForm" ) <<
'\n';
os << "UWClass\t\t" << Invar.value_str("UWClass" ) <<
'\n';
@@ -573,17 +573,17 @@ void PrintCellTabDelimited
os << Curr_.value_str("PremTaxLoad" ,j) << '\t';
os << Curr_.value_str("DacTaxLoad" ,j) << '\t';
- os << Curr_.value_str("PolicyFee" ,j) << '\t';
+ os << Curr_.value_str("PolicyFee" ,j, 100.0) << '\t';
os << Curr_.value_str("SpecAmtLoad" ,j, 100.0) << '\t';
os << Invar.value_str("AnnualFlatExtra" ,j) << '\t';
os << Curr_.value_str("COICharge" ,j, 100.0) << '\t';
- os << Curr_.value_str("RiderCharges" ,j) << '\t';
+ os << Curr_.value_str("RiderCharges" ,j, 100.0) << '\t';
os << "0\t"; // obsolete
- os << Curr_.value_str("SepAcctCharges" ,j) << '\t';
+ os << Curr_.value_str("SepAcctCharges" ,j, 100.0) << '\t';
os << Curr_.value_str("AnnSAIntRate" ,j) << '\t';
os << Curr_.value_str("AnnGAIntRate" ,j) << '\t';
- os << Curr_.value_str("GrossIntCredited" ,j) << '\t';
+ os << Curr_.value_str("GrossIntCredited" ,j, 100.0) << '\t';
os << Curr_.value_str("NetIntCredited" ,j, 100.0) << '\t';
os << Guar_.value_str("AcctVal" ,j) << '\t';
@@ -745,13 +745,13 @@ void PrintRosterTabDelimited
<< Invar.value_str("Salary" ,d) << '\t'
<< Invar.value_str("SpecAmt" ,d) << '\t'
<< Invar.value_str("TermSpecAmt" ,d) << '\t'
- << Invar.value_str("InitTgtPrem" ) << '\t'
+ << Invar.value_str("InitTgtPrem" , 100.0) << '\t'
<< Invar.value_str("ModalMinimumPremium" ,d, 100.0) << '\t'
<< Invar.value_str("EeModalMinimumPremium",d, 100.0) << '\t'
<< Invar.value_str("ErModalMinimumPremium",d, 100.0) << '\t'
- << Invar.value_str("ListBillPremium" ) << '\t'
- << Invar.value_str("EeListBillPremium" ) << '\t'
- << Invar.value_str("ErListBillPremium" ) << '\t'
+ << Invar.value_str("ListBillPremium" , 100.0) << '\t'
+ << Invar.value_str("EeListBillPremium" , 100.0) << '\t'
+ << Invar.value_str("ErListBillPremium" , 100.0) << '\t'
<< "'" << Invar.ListBillDate << "'\t"
<< Invar.EeMode [d] << '\t'
<< Invar.ErMode [d] << '\t'
- [lmi-commits] [lmi] valyuta/007 updated (4c404956 -> 0b887792), Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 18a91e63 01/10: Fix dblize()ation in commented-out code, Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 efa7b7a8 02/10: Add a helper function with a deliberately ugly name, Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 1aeae253 03/10: Add a unit test for ledger_format(), Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 c55ec8f6 04/10: Add an option to format cents as decimal dollars, Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 6569915e 06/10: Reformat, Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 0b887792 10/10: Change many more ledger fields to cents,
Greg Chicares <=
- [lmi-commits] [lmi] valyuta/007 7b3debe3 07/10: Add a 'divisor' argument to LedgerBase::value_str(), Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 7535505d 09/10: Change several more ledger fields to cents, Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 1189d3ac 05/10: Change a ledger field to cents, Greg Chicares, 2022/04/19
- [lmi-commits] [lmi] valyuta/007 2d26a146 08/10: Change several more ledger fields to cents, Greg Chicares, 2022/04/19