[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5697] Refactor
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5697] Refactor |
Date: |
Thu, 18 Apr 2013 13:50:19 +0000 |
Revision: 5697
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5697
Author: chicares
Date: 2013-04-18 13:50:16 +0000 (Thu, 18 Apr 2013)
Log Message:
-----------
Refactor
Modified Paths:
--------------
lmi/trunk/premium_tax.cpp
lmi/trunk/premium_tax.hpp
Modified: lmi/trunk/premium_tax.cpp
===================================================================
--- lmi/trunk/premium_tax.cpp 2013-04-18 12:18:10 UTC (rev 5696)
+++ lmi/trunk/premium_tax.cpp 2013-04-18 13:50:16 UTC (rev 5697)
@@ -73,7 +73,8 @@
/// Production ctor.
///
-/// These database entities should be looked up by premium-tax state:
+/// These database entities should be looked up by premium-tax state,
+/// and also by domicile:
/// - DB_PremTaxLoad
/// - DB_PremTaxRate
/// These probably (for inchoate amortization) shouldn't:
@@ -120,8 +121,6 @@
load_rate_is_levy_rate_ = db.are_equivalent(DB_PremTaxLoad,
DB_PremTaxRate);
- minimum_load_rate_ = ascertain_minimum_load_rate(db, strata);
-
database_index index = db.index().state(tax_state_);
levy_rate_ = db.Query(DB_PremTaxRate, index);
load_rate_ = db.Query(DB_PremTaxLoad, index);
@@ -141,6 +140,8 @@
}
}
+ minimum_load_rate_ = ascertain_minimum_load_rate(strata);
+
test_consistency();
}
@@ -424,37 +425,24 @@
/// Lowest premium-tax load, for 7702 and 7702A purposes.
-double premium_tax::ascertain_minimum_load_rate
- (product_database const& db
- ,stratified_charges const& strata
- ) const
+double premium_tax::ascertain_minimum_load_rate(stratified_charges const&
strata) const
{
- double z = 0.0;
if(amortize_premium_load_)
{
- return z;
+ return 0.0;
}
-
- database_index index = db.index().state(tax_state_);
- z = db.Query(DB_PremTaxLoad, index);
-
- if(premium_tax_is_retaliatory(tax_state_, domicile_))
+ else if(!varies_by_state_)
{
- index = db.index().state(domicile_);
- z = std::max(z, db.Query(DB_PremTaxLoad, index));
+ return load_rate_;
}
-
- if(!varies_by_state_)
+ else if(is_tiered_in_tax_state_)
{
- return z;
+ return strata.minimum_tiered_premium_tax_rate(tax_state_);
}
-
- if(strata.premium_tax_is_tiered(tax_state_))
+ else
{
- z = strata.minimum_tiered_premium_tax_rate(tax_state_);
+ return load_rate_;
}
-
- return z;
}
double premium_tax::ytd_load() const
Modified: lmi/trunk/premium_tax.hpp
===================================================================
--- lmi/trunk/premium_tax.hpp 2013-04-18 12:18:10 UTC (rev 5696)
+++ lmi/trunk/premium_tax.hpp 2013-04-18 13:50:16 UTC (rev 5697)
@@ -127,10 +127,7 @@
private:
void test_consistency() const;
- double ascertain_minimum_load_rate
- (product_database const& db
- ,stratified_charges const& strata
- ) const;
+ double ascertain_minimum_load_rate(stratified_charges const& strata) const;
// Ctor value-arguments.
mcenum_state tax_state_;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5697] Refactor,
Greg Chicares <=