lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5194] Refactor


From: Greg Chicares
Subject: [lmi-commits] [5194] Refactor
Date: Mon, 30 May 2011 16:01:29 +0000

Revision: 5194
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5194
Author:   chicares
Date:     2011-05-30 16:01:29 +0000 (Mon, 30 May 2011)
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   2011-05-30 14:47:09 UTC (rev 5193)
+++ lmi/trunk/premium_tax.cpp   2011-05-30 16:01:29 UTC (rev 5194)
@@ -34,6 +34,42 @@
 #include "mc_enum_types_aux.hpp" // mc_str()
 #include "stratified_charges.hpp"
 
+namespace {
+/// Determine whether premium tax is retaliatory.
+///
+/// Here's a general discussion:
+///   
http://leg2.state.va.us/dls/h&sdocs.nsf/fc86c2b17a1cf388852570f9006f1299/461afa310d4d3d528525646500562282/$FILE/HD78_1997.pdf
+///
+/// Premium tax is retaliatory in most states. Exceptions:
+///   - MA, MN, NY, and RI are mutually nonretaliatory.
+///   - HI never retaliates; neither does fictitious state XX.
+///   - AK and SD retaliate only on the bottom tier; this is best
+///     implemented by adjusting that tier's rate and treating them
+///     as otherwise nonretaliatory.
+
+bool ascertain_whether_premium_tax_is_retaliatory
+    (mcenum_state premium_tax_state
+    ,mcenum_state state_of_domicile
+    )
+{
+    static int const n = 4;
+    static mcenum_state const d[n] = {mce_s_MA, mce_s_MN, mce_s_NY, mce_s_RI};
+    static std::vector<mcenum_state> const reciprocal_nonretaliation_states(d, 
d + n);
+    bool const reciprocally_nonretaliatory =
+            contains(reciprocal_nonretaliation_states, premium_tax_state)
+        &&  contains(reciprocal_nonretaliation_states, state_of_domicile)
+        ;
+    bool const nonretaliatory =
+            reciprocally_nonretaliatory
+        ||  mce_s_HI == premium_tax_state
+        ||  mce_s_XX == premium_tax_state
+        ||  mce_s_AK == premium_tax_state
+        ||  mce_s_SD == premium_tax_state
+        ;
+    return !nonretaliatory;
+}
+} // Unnamed namespace.
+
 premium_tax::premium_tax
     (mcenum_state              premium_tax_state
     ,mcenum_state              state_of_domicile
@@ -76,7 +112,7 @@
     load_is_tiered_in_premium_tax_state_ = 
strata.premium_tax_is_tiered(premium_tax_state_);
     load_is_tiered_in_state_of_domicile_ = 
strata.premium_tax_is_tiered(state_of_domicile_);
 
-    premium_tax_is_retaliatory_ = ::premium_tax_is_retaliatory
+    premium_tax_is_retaliatory_ = ascertain_whether_premium_tax_is_retaliatory
         (premium_tax_state_
         ,state_of_domicile_
         );
@@ -133,7 +169,7 @@
 
 void premium_tax::test_consistency() const
 {
-    if(load_is_tiered_in_premium_tax_state_)
+    if(load_is_tiered_in_premium_tax_state())
         {
         if(0.0 != load_rate())
             {
@@ -149,7 +185,7 @@
             }
         }
 
-    if(load_is_tiered_in_state_of_domicile_)
+    if(load_is_tiered_in_state_of_domicile())
         {
         if(0.0 != domiciliary_load_rate())
             {
@@ -172,40 +208,6 @@
         }
 }
 
-/// Determine whether premium tax is retaliatory.
-///
-/// Here's a general discussion:
-///   
http://leg2.state.va.us/dls/h&sdocs.nsf/fc86c2b17a1cf388852570f9006f1299/461afa310d4d3d528525646500562282/$FILE/HD78_1997.pdf
-///
-/// Premium tax is retaliatory in most states. Exceptions:
-///   - MA, MN, NY, and RI are mutually nonretaliatory.
-///   - HI never retaliates; neither does fictitious state XX.
-///   - AK and SD retaliate only on the bottom tier; this is best
-///     implemented by adjusting that tier's rate and treating them
-///     as otherwise nonretaliatory.
-
-bool premium_tax_is_retaliatory
-    (mcenum_state premium_tax_state
-    ,mcenum_state state_of_domicile
-    )
-{
-    static int const n = 4;
-    static mcenum_state const d[n] = {mce_s_MA, mce_s_MN, mce_s_NY, mce_s_RI};
-    static std::vector<mcenum_state> const reciprocal_nonretaliation_states(d, 
d + n);
-    bool const reciprocally_nonretaliatory =
-            contains(reciprocal_nonretaliation_states, premium_tax_state)
-        &&  contains(reciprocal_nonretaliation_states, state_of_domicile)
-        ;
-    bool const nonretaliatory =
-            reciprocally_nonretaliatory
-        ||  mce_s_HI == premium_tax_state
-        ||  mce_s_XX == premium_tax_state
-        ||  mce_s_AK == premium_tax_state
-        ||  mce_s_SD == premium_tax_state
-        ;
-    return !nonretaliatory;
-}
-
 /// Lowest premium-tax load, for 7702 and 7702A purposes.
 
 double lowest_premium_tax_load
@@ -243,7 +245,7 @@
     database_index index = db.index().state(premium_tax_state);
     z = db.Query(DB_PremTaxLoad, index);
 
-    if(premium_tax_is_retaliatory(premium_tax_state, state_of_domicile))
+    if(ascertain_whether_premium_tax_is_retaliatory(premium_tax_state, 
state_of_domicile))
         {
         index = db.index().state(state_of_domicile);
         z = std::max(z, db.Query(DB_PremTaxLoad, index));

Modified: lmi/trunk/premium_tax.hpp
===================================================================
--- lmi/trunk/premium_tax.hpp   2011-05-30 14:47:09 UTC (rev 5193)
+++ lmi/trunk/premium_tax.hpp   2011-05-30 16:01:29 UTC (rev 5194)
@@ -76,11 +76,6 @@
     bool   premium_tax_is_retaliatory_;
 };
 
-bool premium_tax_is_retaliatory
-    (mcenum_state premium_tax_state
-    ,mcenum_state state_of_domicile
-    );
-
 double lowest_premium_tax_load
     (mcenum_state              premium_tax_state
     ,mcenum_state              state_of_domicile




reply via email to

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