[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;
- [lmi-commits] [lmi] master updated (259f97c -> 6c72fcf), Greg Chicares, 2018/11/07
- [lmi-commits] [lmi] master 284339d 1/8: Document boolean database entities more uniformly, Greg Chicares, 2018/11/07
- [lmi-commits] [lmi] master e4a6ba2 6/8: Use query<bool> with database entities that are inherently boolean, Greg Chicares, 2018/11/07
- [lmi-commits] [lmi] master 39f76e4 4/8: Make a deliberate mistake more obvious in a unit test, Greg Chicares, 2018/11/07
- [lmi-commits] [lmi] master f066478 7/8: Use query<T> with database entities that are inherently enumerative, Greg Chicares, 2018/11/07
- [lmi-commits] [lmi] master 6c72fcf 8/8: Use query<double> with database entities that are inherently floating,
Greg Chicares <=
- [lmi-commits] [lmi] master 5e009d6 3/8: Adjust whitespace to improve vertical alignment, Greg Chicares, 2018/11/07
- [lmi-commits] [lmi] master 28105c5 5/8: Use query<int> with database entities that are inherently int, Greg Chicares, 2018/11/07
- [lmi-commits] [lmi] master 9490b4c 2/8: Avoid using floating-point constants for boolean values, Greg Chicares, 2018/11/07