lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5197] Use premium-tax class in antediluvian fork


From: Greg Chicares
Subject: [lmi-commits] [5197] Use premium-tax class in antediluvian fork
Date: Wed, 01 Jun 2011 12:07:41 +0000

Revision: 5197
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5197
Author:   chicares
Date:     2011-06-01 12:07:37 +0000 (Wed, 01 Jun 2011)
Log Message:
-----------
Use premium-tax class in antediluvian fork

Modified Paths:
--------------
    lmi/trunk/Makefile.am
    lmi/trunk/antediluvian_stubs.cpp
    lmi/trunk/basicvalues.cpp
    lmi/trunk/objects.make
    lmi/trunk/premium_tax.cpp
    lmi/trunk/premium_tax.hpp

Modified: lmi/trunk/Makefile.am
===================================================================
--- lmi/trunk/Makefile.am       2011-06-01 11:42:45 UTC (rev 5196)
+++ lmi/trunk/Makefile.am       2011-06-01 12:07:37 UTC (rev 5197)
@@ -295,6 +295,7 @@
     null_stream.cpp \
     outlay.cpp \
     path_utility.cpp \
+    premium_tax.cpp \
     product_names.cpp \
     progress_meter.cpp \
     sigfpe.cpp \
@@ -349,7 +350,6 @@
     mec_xml_document.cpp \
     mortality_rates_fetch.cpp \
     preferences_model.cpp \
-    premium_tax.cpp \
     product_data.cpp \
     rounding_rules.cpp \
     stratified_algorithms.cpp \

Modified: lmi/trunk/antediluvian_stubs.cpp
===================================================================
--- lmi/trunk/antediluvian_stubs.cpp    2011-06-01 11:42:45 UTC (rev 5196)
+++ lmi/trunk/antediluvian_stubs.cpp    2011-06-01 12:07:37 UTC (rev 5197)
@@ -29,6 +29,7 @@
 #include "lmi.hpp"          // is_antediluvian_fork()
 #include "mec_server.hpp"
 #include "product_data.hpp"
+#include "stratified_charges.hpp"
 #include "xml_lmi.hpp"
 #include "xml_serializable.tpp"
 
@@ -130,3 +131,18 @@
     return empty_string;
 }
 
+double stratified_charges::minimum_tiered_premium_tax_rate(mcenum_state) const
+{
+    return 0.0;
+}
+
+bool stratified_charges::premium_tax_is_tiered(mcenum_state) const
+{
+    return false;
+}
+
+double stratified_charges::tiered_premium_tax(mcenum_state, double, double) 
const
+{
+    return 0.0;
+}
+

Modified: lmi/trunk/basicvalues.cpp
===================================================================
--- lmi/trunk/basicvalues.cpp   2011-06-01 11:42:45 UTC (rev 5196)
+++ lmi/trunk/basicvalues.cpp   2011-06-01 12:07:37 UTC (rev 5197)
@@ -38,6 +38,7 @@
 #include "loads.hpp"
 #include "mortality_rates.hpp"
 #include "outlay.hpp"
+#include "premium_tax.hpp"
 #include "surrchg_rates.hpp"
 
 #include <algorithm> // std::max()
@@ -89,8 +90,6 @@
 //============================================================================
 void BasicValues::Init()
 {
-    PremiumTaxLoadIsTieredInPremiumTaxState_ = false;
-
     // Bind to input and database representing policy form.
 
     IssueAge = yare_input_.IssueAge;
@@ -132,11 +131,9 @@
     SurrChgRates_  .reset(new SurrChgRates   (*Database_));
     DeathBfts_     .reset(new death_benefits (GetLength(), yare_input_));
     Outlay_        .reset(new modal_outlay   (yare_input_));
+    PremiumTax_    .reset(new premium_tax    (PremiumTaxState_, *Database_));
     Loads_         .reset(new Loads(*Database_, IsSubjectToIllustrationReg()));
 
-    database_index index = Database_->index().state(GetPremiumTaxState());
-    PremiumTaxRate_ = Database_->Query(DB_PremTaxRate, index);
-
     MinSpecAmt = Database_->Query(DB_MinSpecAmt);
     MinWD      = Database_->Query(DB_MinWd     );
     WDFee      = Database_->Query(DB_WdFee     );

Modified: lmi/trunk/objects.make
===================================================================
--- lmi/trunk/objects.make      2011-06-01 11:42:45 UTC (rev 5196)
+++ lmi/trunk/objects.make      2011-06-01 12:07:37 UTC (rev 5197)
@@ -233,6 +233,7 @@
   null_stream.o \
   outlay.o \
   path_utility.o \
+  premium_tax.o \
   product_names.o \
   progress_meter.o \
   sigfpe.o \
@@ -288,7 +289,6 @@
   mec_xml_document.o \
   mortality_rates_fetch.o \
   preferences_model.o \
-  premium_tax.o \
   product_data.o \
   rounding_rules.o \
   stratified_algorithms.o \

Modified: lmi/trunk/premium_tax.cpp
===================================================================
--- lmi/trunk/premium_tax.cpp   2011-06-01 11:42:45 UTC (rev 5196)
+++ lmi/trunk/premium_tax.cpp   2011-06-01 12:07:37 UTC (rev 5197)
@@ -139,6 +139,27 @@
     test_consistency();
 }
 
+/// Antediluvian ctor.
+
+premium_tax::premium_tax
+    (mcenum_state            premium_tax_state
+    ,product_database const& db
+    )
+    :premium_tax_state_                   (premium_tax_state)
+    ,state_of_domicile_                   (mce_s_XX) // Doesn't matter.
+    ,amortize_premium_load_               (false)
+    ,levy_rate_                           (0.0) // Reset below.
+    ,load_rate_                           (0.0)
+    ,least_load_rate_                     (0.0)
+    ,domiciliary_load_rate_               (0.0)
+    ,load_is_tiered_in_premium_tax_state_ (false)
+    ,load_is_tiered_in_state_of_domicile_ (false)
+    ,premium_tax_is_retaliatory_          (false)
+{
+    database_index index = db.index().state(premium_tax_state_);
+    levy_rate_ = db.Query(DB_PremTaxRate, index);
+}
+
 premium_tax::~premium_tax()
 {}
 

Modified: lmi/trunk/premium_tax.hpp
===================================================================
--- lmi/trunk/premium_tax.hpp   2011-06-01 11:42:45 UTC (rev 5196)
+++ lmi/trunk/premium_tax.hpp   2011-06-01 12:07:37 UTC (rev 5197)
@@ -45,6 +45,10 @@
         ,product_database   const& db
         ,stratified_charges const& strata
         );
+    premium_tax
+        (mcenum_state              premium_tax_state
+        ,product_database   const& db
+        );
     ~premium_tax();
 
     double levy_rate                          () const;




reply via email to

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