[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5172] Fix ancient defect noted 20100723T1029Z: remove dan
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5172] Fix ancient defect noted 20100723T1029Z: remove dangerous scalars |
Date: |
Wed, 18 May 2011 20:17:54 +0000 |
Revision: 5172
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5172
Author: chicares
Date: 2011-05-18 20:17:53 +0000 (Wed, 18 May 2011)
Log Message:
-----------
Fix ancient defect noted 20100723T1029Z: remove dangerous scalars
Modified Paths:
--------------
lmi/trunk/ledger_invariant.cpp
lmi/trunk/ledger_invariant.hpp
lmi/trunk/ledger_xml_io.cpp
Modified: lmi/trunk/ledger_invariant.cpp
===================================================================
--- lmi/trunk/ledger_invariant.cpp 2011-05-13 17:01:42 UTC (rev 5171)
+++ lmi/trunk/ledger_invariant.cpp 2011-05-18 20:17:53 UTC (rev 5172)
@@ -171,9 +171,6 @@
OtherScalars ["SpouseIssueAge" ] = &SpouseIssueAge ;
OtherScalars ["HasHoneymoon" ] = &HasHoneymoon ;
OtherScalars ["AllowDbo3" ] = &AllowDbo3 ;
- OtherScalars ["StatePremTaxLoad" ] = &StatePremTaxLoad ;
- OtherScalars ["StatePremTaxRate" ] = &StatePremTaxRate ;
- OtherScalars ["DacTaxPremLoadRate" ] = &DacTaxPremLoadRate ;
OtherScalars ["InitAnnLoanDueRate" ] = &InitAnnLoanDueRate ;
OtherScalars ["IsInforce" ] = &IsInforce ;
OtherScalars ["CountryCOIMultiplier" ] = &CountryCOIMultiplier ;
@@ -289,6 +286,7 @@
Strings ["AvoidMec" ] = &AvoidMec ;
Strings ["PartMortTableName" ] = &PartMortTableName ;
Strings ["StatePostalAbbrev" ] = &StatePostalAbbrev ;
+ Strings ["PremiumTaxState" ] = &PremiumTaxState ;
Strings ["CountryIso3166Abbrev" ] = &CountryIso3166Abbrev ;
Strings ["Comments" ] = &Comments ;
@@ -752,29 +750,8 @@
AvoidMec = (*b->Input_)["AvoidMecMethod"].str();
PartMortTableName = "1983 GAM"; // TODO ?? Hardcoded.
StatePostalAbbrev = mc_str(b->GetStateOfJurisdiction());
+ PremiumTaxState = mc_str(b->GetPremiumTaxState());
- // SOMEDAY !! No output form uses these as of 2010-07; for now at
- // least, they're assumed to be scalars.
- // TODO ?? Some states have tiered rates, which probably shouldn't
- // be represented as single scalars. Should these variables simply
- // be removed?
- StatePremTaxRate = b->PremiumTaxRate();
- StatePremTaxLoad = b->PremiumTaxLoad();
- DacTaxPremLoadRate = b->Loads_->dac_tax_load()[0];
- // SOMEDAY !! No output form uses this as of 2010-07; for now at
- // least, it's assumed to be scalar.
- LMI_ASSERT
- (each_equal
- (b->Loads_->dac_tax_load().begin()
- ,b->Loads_->dac_tax_load().end()
- ,b->Loads_->dac_tax_load().front()
- )
- );
- // SOMEDAY !! The database allows a distinct DAC tax fund charge,
- // but it's not supported yet. Output forms must not assume that
- // the DAC tax premium load represents the entire DAC tax charge.
- LMI_ASSERT(0.0 == b->Database_->Query(DB_DacTaxFundCharge));
-
InitAnnLoanDueRate = b->InterestRates_->RegLnDueRate
(mce_gen_curr
,mce_annual_rate
@@ -964,9 +941,7 @@
Comments = a_Addend.Comments;
StatePostalAbbrev = a_Addend.StatePostalAbbrev;
- StatePremTaxLoad = a_Addend.StatePremTaxLoad;
- StatePremTaxRate = a_Addend.StatePremTaxRate;
- DacTaxPremLoadRate = a_Addend.DacTaxPremLoadRate;
+ PremiumTaxState = a_Addend.PremiumTaxState;
InitAnnLoanDueRate = a_Addend.InitAnnLoanDueRate;
UseExperienceRating = a_Addend.UseExperienceRating;
UsePartialMort = a_Addend.UsePartialMort;
Modified: lmi/trunk/ledger_invariant.hpp
===================================================================
--- lmi/trunk/ledger_invariant.hpp 2011-05-13 17:01:42 UTC (rev 5171)
+++ lmi/trunk/ledger_invariant.hpp 2011-05-18 20:17:53 UTC (rev 5172)
@@ -62,9 +62,6 @@
std::vector<double> const& GetInforceLives() const;
double GetInitAnnLoanDueRate() const;
std::string const& GetStatePostalAbbrev() const;
- double const& GetStatePremTaxLoad() const;
- double const& GetStatePremTaxRate() const;
- double const& GetDacTaxPremLoadRate() const;
// TODO ?? Does this really belong here?
// Yes: it keeps the ledger object small; otherwise, numerous IRR
@@ -336,11 +333,9 @@
void Init();
std::string StatePostalAbbrev;
+ std::string PremiumTaxState;
// Nonscalable scalars.
- double StatePremTaxLoad;
- double StatePremTaxRate;
- double DacTaxPremLoadRate;
double InitAnnLoanDueRate;
// Special cases.
@@ -373,20 +368,5 @@
return StatePostalAbbrev;
}
-inline double const& LedgerInvariant::GetStatePremTaxLoad() const
-{
- return StatePremTaxLoad;
-}
-
-inline double const& LedgerInvariant::GetStatePremTaxRate() const
-{
- return StatePremTaxRate;
-}
-
-inline double const& LedgerInvariant::GetDacTaxPremLoadRate() const
-{
- return DacTaxPremLoadRate;
-}
-
#endif // ledger_invariant_hpp
Modified: lmi/trunk/ledger_xml_io.cpp
===================================================================
--- lmi/trunk/ledger_xml_io.cpp 2011-05-13 17:01:42 UTC (rev 5171)
+++ lmi/trunk/ledger_xml_io.cpp 2011-05-18 20:17:53 UTC (rev 5172)
@@ -377,7 +377,6 @@
format_map["PostHoneymoonSpread" ] = f4;
format_map["Preferred" ] = f4;
format_map["PremTaxRate" ] = f4;
- format_map["StatePremTaxRate" ] = f4;
// F3: scaled by 100, zero decimals, with '%' at end:
// > Format as percentage with no decimal places (##0%)
@@ -443,7 +442,6 @@
format_map["SmokerBlended" ] = f1;
format_map["SmokerDistinct" ] = f1;
format_map["SpouseIssueAge" ] = f1;
- format_map["StatePremTaxLoad" ] = f1;
format_map["SupplementalReport" ] = f1;
format_map["UseExperienceRating" ] = f1;
format_map["UsePartialMort" ] = f1;
@@ -472,7 +470,6 @@
format_map["CashFlowIRR" ] = f4;
format_map["CorpTaxBracket" ] = f4;
format_map["CurrMandE" ] = f4;
- format_map["DacTaxPremLoadRate" ] = f4;
format_map["HoneymoonValueSpread" ] = f4;
format_map["IndvTaxBracket" ] = f4;
format_map["InforceHMVector" ] = f4;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5172] Fix ancient defect noted 20100723T1029Z: remove dangerous scalars,
Greg Chicares <=