lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [5089] Query product database with nondefault index pro re


From: Greg Chicares
Subject: [lmi-commits] [5089] Query product database with nondefault index pro re nata
Date: Sun, 01 Aug 2010 15:15:42 +0000

Revision: 5089
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5089
Author:   chicares
Date:     2010-08-01 15:15:42 +0000 (Sun, 01 Aug 2010)
Log Message:
-----------
Query product database with nondefault index pro re nata

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/basicvalues.cpp
    lmi/trunk/ihs_basicval.cpp
    lmi/trunk/mec_server.cpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2010-08-01 15:14:42 UTC (rev 5088)
+++ lmi/trunk/ChangeLog 2010-08-01 15:15:42 UTC (rev 5089)
@@ -26685,3 +26685,28 @@
 Explicitly assert certain postconditions. See:
   http://lists.nongnu.org/archive/html/lmi/2010-07/msg00037.html
 
+20100801T1217Z <address@hidden> [656]
+
+  dbindex.hpp
+  dbvalue.cpp
+Rectify names.
+
+20100801T1513Z <address@hidden> [656]
+
+  dbindex.hpp
+Offer the "named parameter idiom".
+
+20100801T1514Z <address@hidden> [656]
+
+  database.cpp
+  database.hpp
+  input_test.cpp
+Permit querying product database with nondefault index.
+
+20100801T1515Z <address@hidden> [656]
+
+  basicvalues.cpp
+  ihs_basicval.cpp
+  mec_server.cpp
+Query product database with nondefault index pro re nata.
+

Modified: lmi/trunk/basicvalues.cpp
===================================================================
--- lmi/trunk/basicvalues.cpp   2010-08-01 15:14:42 UTC (rev 5088)
+++ lmi/trunk/basicvalues.cpp   2010-08-01 15:15:42 UTC (rev 5089)
@@ -134,12 +134,8 @@
     Outlay_        .reset(new modal_outlay   (yare_input_));
     Loads_         .reset(new Loads(*Database_, IsSubjectToIllustrationReg()));
 
-    {
-    yare_input yi_premtax(*Input_);
-    yi_premtax.StateOfJurisdiction = GetPremiumTaxState();
-    product_database db_premtax(yi_premtax);
-    PremiumTaxRate_ = db_premtax.Query(DB_PremTaxRate);
-    }
+    database_index index = Database_->index().state(GetPremiumTaxState());
+    PremiumTaxRate_ = Database_->Query(DB_PremTaxRate, index);
 
     MinSpecAmt = Database_->Query(DB_MinSpecAmt);
     MinWD      = Database_->Query(DB_MinWd     );

Modified: lmi/trunk/ihs_basicval.cpp
===================================================================
--- lmi/trunk/ihs_basicval.cpp  2010-08-01 15:14:42 UTC (rev 5088)
+++ lmi/trunk/ihs_basicval.cpp  2010-08-01 15:15:42 UTC (rev 5089)
@@ -842,12 +842,8 @@
     PremiumTaxLoadIsTieredInStateOfDomicile_ = 
StratifiedCharges_->premium_tax_is_tiered(GetStateOfDomicile());
     PremiumTaxLoadIsTieredInPremiumTaxState_ = 
StratifiedCharges_->premium_tax_is_tiered(GetPremiumTaxState());
 
-    yare_input yi_premtax(*Input_);
-    yi_premtax.StateOfJurisdiction = GetPremiumTaxState();
-    product_database db_premtax(yi_premtax);
-
     LowestPremiumTaxLoad_ = lowest_premium_tax_load
-        (db_premtax
+        (*Database_
         ,*StratifiedCharges_
         ,GetPremiumTaxState()
         ,yare_input_.AmortizePremiumLoad
@@ -856,24 +852,22 @@
     // TODO ?? It would be better not to constrain so many things
     // not to vary by duration by using Query(enumerator).
 
-    PremiumTaxRate_ = db_premtax.Query(DB_PremTaxRate);
-    PremiumTaxLoad_ = db_premtax.Query(DB_PremTaxLoad);
+    database_index index = Database_->index().state(GetPremiumTaxState());
+    PremiumTaxRate_                   = Database_->Query(DB_PremTaxRate      , 
index);
+    PremiumTaxLoad_                   = Database_->Query(DB_PremTaxLoad      , 
index);
+    FirstYearPremiumRetaliationLimit_ = Database_->Query(DB_PremTaxRetalLimit, 
index);
 
     StateOfDomicile_ = 
mc_state_from_string(ProductData_->datum("InsCoDomicile"));
     {
-    yare_input yi_domicile(*Input_);
-    yi_domicile.StateOfJurisdiction = GetStateOfDomicile();
-    product_database db_domicile(yi_domicile);
+    database_index index = Database_->index().state(GetStateOfDomicile());
     DomiciliaryPremiumTaxLoad_ = 0.0;
     if(!yare_input_.AmortizePremiumLoad)
         {
-        DomiciliaryPremiumTaxLoad_ = db_domicile.Query(DB_PremTaxLoad);
+        DomiciliaryPremiumTaxLoad_ = Database_->Query(DB_PremTaxLoad, index);
         }
     }
 
     TestPremiumTaxLoadConsistency();
-
-    FirstYearPremiumRetaliationLimit_ = db_premtax.Query(DB_PremTaxRetalLimit);
 }
 
 /// Lowest premium-tax load, for 7702 and 7702A purposes.
@@ -909,7 +903,8 @@
         return z;
         }
 
-    z = db.Query(DB_PremTaxLoad);
+    database_index index = db.index().state(premium_tax_state);
+    z = db.Query(DB_PremTaxLoad, index);
 
     if(!db.varies_by_state(DB_PremTaxLoad))
         {
@@ -1678,16 +1673,11 @@
     ,mcenum_smoking     smoking
     ) const
 {
-    yare_input YI(*Input_);
-    YI.Gender  = gender ;
-    YI.Smoking = smoking;
-
-    product_database TempDatabase(YI);
-
+    database_index index = Database_->index().gender(gender).smoking(smoking);
     return GetActuarialTable
         (TableFile
         ,TableID
-        ,static_cast<long int>(TempDatabase.Query(TableID))
+        ,static_cast<long int>(Database_->Query(TableID, index))
         );
 }
 

Modified: lmi/trunk/mec_server.cpp
===================================================================
--- lmi/trunk/mec_server.cpp    2010-08-01 15:14:42 UTC (rev 5088)
+++ lmi/trunk/mec_server.cpp    2010-08-01 15:15:42 UTC (rev 5089)
@@ -302,17 +302,8 @@
             ;
         }
 
-    product_database db_premtax
-        (ProductName
-        ,Gender
-        ,UnderwritingClass
-        ,Smoking
-        ,input.issue_age()
-        ,GroupUnderwritingType
-        ,PremiumTaxState
-        );
     double const premium_tax_load = lowest_premium_tax_load
-        (db_premtax
+        (database
         ,stratified
         ,PremiumTaxState
         ,false




reply via email to

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