[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master 79741b1 01/13: Assert a precondition more con
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master 79741b1 01/13: Assert a precondition more consistently |
Date: |
Fri, 9 Apr 2021 18:42:36 -0400 (EDT) |
branch: master
commit 79741b1ed3d173db10b99bd144e69d65753d70b7
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Assert a precondition more consistently
Reviewed all use of std::{min,max}_element() and added assertions in
the few instances that weren't already guarded against segfaulting.
Incidentally replaced 0<size() with !empty().
A particular gcc binary had issued a warning for this nearby line:
LMI_ASSERT(Bfts.begin() <= last_bft_in_test_period);
but the warning was apparently invalid--see:
https://lists.nongnu.org/archive/html/lmi/2021-04/msg00005.html
https://lists.nongnu.org/archive/html/lmi/2021-04/msg00008.html
---
ihs_irc7702a.cpp | 3 ++-
input_realization.cpp | 4 ++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ihs_irc7702a.cpp b/ihs_irc7702a.cpp
index 98aeb03..1088a32 100644
--- a/ihs_irc7702a.cpp
+++ b/ihs_irc7702a.cpp
@@ -188,7 +188,7 @@ void Irc7702A::Initialize7702A
LMI_ASSERT(a_ContractYear <= a_PolicyYear);
state_.B0_deduced_policy_year = a_PolicyYear;
state_.B1_deduced_contract_year = a_ContractYear;
- LMI_ASSERT(0 < a_Bfts.size());
+ LMI_ASSERT(!a_Bfts.empty());
double lowest_bft = *std::min_element(a_Bfts.begin(), a_Bfts.end());
// Allow Bfts to be zero for solves.
LMI_ASSERT(0.0 <= lowest_bft);
@@ -1304,6 +1304,7 @@ double Irc7702A::DetermineLowestBft() const
,Bfts.begin() + std::min(TestPeriodLen, TestPeriodDur)
);
LMI_ASSERT(Bfts.begin() <= last_bft_in_test_period);
+ LMI_ASSERT(!Bfts.empty());
// TAXATION !! This is harmful for inforce if inforce history is unreliable:
LowestBft = *std::min_element(Bfts.begin(), last_bft_in_test_period);
return LowestBft;
diff --git a/input_realization.cpp b/input_realization.cpp
index d474413..b97eff9 100644
--- a/input_realization.cpp
+++ b/input_realization.cpp
@@ -298,6 +298,7 @@ std::string Input::RealizeExtraCompensationOnAssets()
return s;
}
+ LMI_ASSERT(!ExtraCompensationOnAssetsRealized_.empty());
double highest = std::max_element
(ExtraCompensationOnAssetsRealized_.begin()
,ExtraCompensationOnAssetsRealized_.end()
@@ -329,6 +330,7 @@ std::string Input::RealizeExtraCompensationOnPremium()
return s;
}
+ LMI_ASSERT(!ExtraCompensationOnPremiumRealized_.empty());
double highest = std::max_element
(ExtraCompensationOnPremiumRealized_.begin()
,ExtraCompensationOnPremiumRealized_.end()
@@ -384,6 +386,7 @@ std::string Input::RealizeCurrentCoiMultiplier()
}
double const z = database_->query<double>(DB_MinInputCoiMult);
+ LMI_ASSERT(!CurrentCoiMultiplierRealized_.empty());
double lowest = std::min_element
(CurrentCoiMultiplierRealized_.begin()
,CurrentCoiMultiplierRealized_.end()
@@ -790,6 +793,7 @@ std::string Input::RealizeSeparateAccountRate()
// than twelve percent.
max_sep_acct_rate = 1.0;
}
+ LMI_ASSERT(!SeparateAccountRateRealized_.empty());
double highest = std::max_element
(SeparateAccountRateRealized_.begin()
,SeparateAccountRateRealized_.end()
- [lmi-commits] [lmi] master updated (8aa09b9 -> a32cee0), Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master 79741b1 01/13: Assert a precondition more consistently,
Greg Chicares <=
- [lmi-commits] [lmi] master 358c5c9 06/13: Modernize, Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master edb098f 02/13: Strengthen unit tests, Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master 2a3d961 03/13: Measure cost of a needless transcendental calculation, Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master 6bc828a 05/13: Realign, Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master 290dc89 10/13: Remove a source of inaccuracy [285], Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master a32cee0 13/13: Hoist a division, Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master 1e49ee3 04/13: Revise 'round_to' documentation [286], Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master 1bead9e 08/13: Purge unwanted, commented-out code, Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master ce9ed5c 07/13: Add an inchoate test of power-of-ten scaling, Greg Chicares, 2021/04/09
- [lmi-commits] [lmi] master 858d037 09/13: Include appropriate headers, and say why they're included, Greg Chicares, 2021/04/09