lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master 6c72fcf 8/8: Use query<double> with database


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 6c72fcf 8/8: Use query<double> with database entities that are inherently floating
Date: Wed, 7 Nov 2018 17:11:11 -0500 (EST)

branch: master
commit 6c72fcf05ee65d04596ccf47ee9e8f08356a5beb
Author: Gregory W. Chicares <address@hidden>
Commit: Gregory W. Chicares <address@hidden>

    Use query<double> with database entities that are inherently floating
    
    For now at least, this category contains currency amounts like DB_MinWd
    that are whole currency units but not necessarily whole dollars.
    
    DB_PremTaxAmortPeriod is regarded as floating because it could represent
    a fractional number of years.
---
 gpt_server.cpp            | 4 ++--
 ihs_avmly.cpp             | 2 +-
 ihs_basicval.cpp          | 2 +-
 input_harmonization.cpp   | 8 ++++----
 input_realization.cpp     | 8 ++++----
 input_xml_io.cpp          | 2 +-
 loads.cpp                 | 4 ++--
 mec_server.cpp            | 4 ++--
 mortality_rates_fetch.cpp | 2 +-
 9 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/gpt_server.cpp b/gpt_server.cpp
index c17c3dc..e2bd062 100644
--- a/gpt_server.cpp
+++ b/gpt_server.cpp
@@ -184,7 +184,7 @@ gpt_state test_one_days_gpt_transactions
         ,input.issue_age()
         ,input.years_to_maturity()
         );
-    double max_coi_rate = database.Query(DB_MaxMonthlyCoiRate);
+    double max_coi_rate = database.query<double>(DB_MaxMonthlyCoiRate);
     LMI_ASSERT(0.0 != max_coi_rate);
     max_coi_rate = 1.0 / max_coi_rate;
     assign(Mly7702qc, apply_binary(coi_rate_from_q<double>(), Mly7702qc, 
max_coi_rate));
@@ -297,7 +297,7 @@ gpt_state test_one_days_gpt_transactions
         {
         AnnualTargetPrem = round_max_premium
             (ldbl_eps_plus_one_times
-                (   database.Query(DB_TgtPremMonthlyPolFee)
+                (   database.query<double>(DB_TgtPremMonthlyPolFee)
                 +
                     ( InforceTargetSpecifiedAmount
                     * TargetPremiumRates[target_year]
diff --git a/ihs_avmly.cpp b/ihs_avmly.cpp
index bad87ac..3dad212 100644
--- a/ihs_avmly.cpp
+++ b/ihs_avmly.cpp
@@ -1975,7 +1975,7 @@ void AccountValue::TxTakeSepAcctLoad()
             (GenBasis_
             ,AssetsPostBom
             ,CumPmtsPostBom
-            ,database().Query(DB_DynSepAcctLoadLimit)
+            ,database().query<double>(DB_DynSepAcctLoadLimit)
             );
 
         double tiered_comp = 0.0;
diff --git a/ihs_basicval.cpp b/ihs_basicval.cpp
index cf3e843..f292030 100644
--- a/ihs_basicval.cpp
+++ b/ihs_basicval.cpp
@@ -433,7 +433,7 @@ double BasicValues::InvestmentManagementFee() const
 void BasicValues::Init7702()
 {
     Mly7702qc = GetIrc7702QRates();
-    double max_coi_rate = database().Query(DB_MaxMonthlyCoiRate);
+    double max_coi_rate = database().query<double>(DB_MaxMonthlyCoiRate);
     LMI_ASSERT(0.0 != max_coi_rate);
     max_coi_rate = 1.0 / max_coi_rate;
     assign(Mly7702qc, apply_binary(coi_rate_from_q<double>(), Mly7702qc, 
max_coi_rate));
diff --git a/input_harmonization.cpp b/input_harmonization.cpp
index 2bcc74b..7f80f56 100644
--- a/input_harmonization.cpp
+++ b/input_harmonization.cpp
@@ -467,16 +467,16 @@ void Input::DoHarmonize()
     // rider is elected, it could never be set back to zero manually
     // when unelected--so it's forced to zero when unelected.
     ChildRiderAmount .minimum_and_maximum
-        ((mce_yes == ChildRider) ? database_->Query(DB_ChildRiderMinAmt) : 0.0
-        ,(mce_yes == ChildRider) ? database_->Query(DB_ChildRiderMaxAmt) : 0.0
+        ((mce_yes == ChildRider) ? 
database_->query<double>(DB_ChildRiderMinAmt) : 0.0
+        ,(mce_yes == ChildRider) ? 
database_->query<double>(DB_ChildRiderMaxAmt) : 0.0
         );
     bool allow_spouse_rider = database_->query<bool>(DB_AllowSpouseRider);
     SpouseRider      .enable(        allow_spouse_rider);
     SpouseRider      .allow(mce_yes, allow_spouse_rider);
     SpouseRiderAmount.enable(mce_yes == SpouseRider);
     SpouseRiderAmount.minimum_and_maximum
-        ((mce_yes == SpouseRider) ? database_->Query(DB_SpouseRiderMinAmt) : 
0.0
-        ,(mce_yes == SpouseRider) ? database_->Query(DB_SpouseRiderMaxAmt) : 
0.0
+        ((mce_yes == SpouseRider) ? 
database_->query<double>(DB_SpouseRiderMinAmt) : 0.0
+        ,(mce_yes == SpouseRider) ? 
database_->query<double>(DB_SpouseRiderMaxAmt) : 0.0
         );
     SpouseIssueAge   .enable(mce_yes == SpouseRider);
     // If 'SpouseIssueAge' were always enabled, then it might make
diff --git a/input_realization.cpp b/input_realization.cpp
index c040fae..74bdcae 100644
--- a/input_realization.cpp
+++ b/input_realization.cpp
@@ -380,7 +380,7 @@ std::string Input::RealizeCurrentCoiMultiplier()
         return s;
         }
 
-    double const z = database_->Query(DB_MinInputCoiMult);
+    double const z = database_->query<double>(DB_MinInputCoiMult);
     double lowest = std::min_element
         (CurrentCoiMultiplierRealized_.begin()
         ,CurrentCoiMultiplierRealized_.end()
@@ -663,7 +663,7 @@ std::string Input::RealizeGeneralAccountRate()
         return "";
         }
 
-    double guar_int = database_->Query(DB_GuarInt);
+    double guar_int = database_->query<double>(DB_GuarInt);
     std::vector<double> general_account_max_rate;
     database_->query_into(DB_MaxGenAcctRate, general_account_max_rate);
 
@@ -750,7 +750,7 @@ std::string Input::RealizeSeparateAccountRate()
     // making this field's range depend on gross versus net. The -100%
     // minimum for an eventual tn_range type will be low enough.
 
-    double max_sep_acct_rate = database_->Query(DB_MaxSepAcctRate);
+    double max_sep_acct_rate = database_->query<double>(DB_MaxSepAcctRate);
     if(global_settings::instance().ash_nazg())
         {
         // We have some regression-test files with rates higher even
@@ -841,7 +841,7 @@ std::string Input::RealizeWithdrawal()
         }
     else
         {
-        double lowest_allowed_withdrawal = database_->Query(DB_MinWd);
+        double lowest_allowed_withdrawal = database_->query<double>(DB_MinWd);
         for(auto const& i : WithdrawalRealized_)
             {
             if(0.0 < i.value() && i.value() < lowest_allowed_withdrawal)
diff --git a/input_xml_io.cpp b/input_xml_io.cpp
index c4f12df..fba4092 100644
--- a/input_xml_io.cpp
+++ b/input_xml_io.cpp
@@ -676,7 +676,7 @@ void Input::redintegrate_ex_post
         RealizeSpecifiedAmount();
         InforceSpecAmtLoadBase = std::min
             (TermRiderAmount.value() + SpecifiedAmountRealized_[0].value()
-            ,db.Query(DB_SpecAmtLoadLimit)
+            ,db.query<double>(DB_SpecAmtLoadLimit)
             );
         }
 
diff --git a/loads.cpp b/loads.cpp
index c670965..341fdce 100644
--- a/loads.cpp
+++ b/loads.cpp
@@ -49,8 +49,8 @@ Loads::Loads(BasicValues& V)
         ,V.PremiumTax_->maximum_load_rate()
         ,V.PremiumTax_->minimum_load_rate()
         ,V.PremiumTax_->levy_rate()
-        ,V.database().Query(DB_PremTaxAmortIntRate)
-        ,V.database().Query(DB_PremTaxAmortPeriod)
+        ,V.database().query<double>(DB_PremTaxAmortIntRate)
+        ,V.database().query<double>(DB_PremTaxAmortPeriod)
         ,V.database().query<oenum_asset_charge_type>(DB_AssetChargeType)
         ,V.IsSubjectToIllustrationReg()
         ,V.round_interest_rate()
diff --git a/mec_server.cpp b/mec_server.cpp
index 3e09410..2305a2f 100644
--- a/mec_server.cpp
+++ b/mec_server.cpp
@@ -167,7 +167,7 @@ mec_state test_one_days_7702A_transactions
         ,input.issue_age()
         ,input.years_to_maturity()
         );
-    double max_coi_rate = database.Query(DB_MaxMonthlyCoiRate);
+    double max_coi_rate = database.query<double>(DB_MaxMonthlyCoiRate);
     LMI_ASSERT(0.0 != max_coi_rate);
     max_coi_rate = 1.0 / max_coi_rate;
     assign(Mly7702qc, apply_binary(coi_rate_from_q<double>(), Mly7702qc, 
max_coi_rate));
@@ -280,7 +280,7 @@ mec_state test_one_days_7702A_transactions
         {
         AnnualTargetPrem = round_max_premium
             (ldbl_eps_plus_one_times
-                (   database.Query(DB_TgtPremMonthlyPolFee)
+                (   database.query<double>(DB_TgtPremMonthlyPolFee)
                 +
                     ( InforceTargetSpecifiedAmount
                     * TargetPremiumRates[target_year]
diff --git a/mortality_rates_fetch.cpp b/mortality_rates_fetch.cpp
index 53660df..f30e803 100644
--- a/mortality_rates_fetch.cpp
+++ b/mortality_rates_fetch.cpp
@@ -57,7 +57,7 @@ void MortalityRates::fetch_parameters(BasicValues const& 
basic_values)
         oe_modal_table == 
basic_values.database().query<oenum_modal_prem_type>(DB_TgtPremType)
         ;
 
-    double max_coi_rate = basic_values.database().Query(DB_MaxMonthlyCoiRate);
+    double max_coi_rate = 
basic_values.database().query<double>(DB_MaxMonthlyCoiRate);
     LMI_ASSERT(0.0 != max_coi_rate);
     max_coi_rate = 1.0 / max_coi_rate;
     MaxMonthlyCoiRate_ = max_coi_rate;



reply via email to

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