lmi-commits
[Top][All Lists]
Advanced

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

[lmi-commits] [lmi] master a1d772b 03/15: Prefer 'switch' to if...else_i


From: Greg Chicares
Subject: [lmi-commits] [lmi] master a1d772b 03/15: Prefer 'switch' to if...else_if...else
Date: Tue, 27 Aug 2019 13:50:18 -0400 (EDT)

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

    Prefer 'switch' to if...else_if...else
---
 ihs_basicval.cpp | 60 +++++++++++++++++++-------------------------------------
 1 file changed, 20 insertions(+), 40 deletions(-)

diff --git a/ihs_basicval.cpp b/ihs_basicval.cpp
index 4e7d683..c57aeca 100644
--- a/ihs_basicval.cpp
+++ b/ihs_basicval.cpp
@@ -869,26 +869,16 @@ double BasicValues::GetModalPrem
     ,oenum_modal_prem_type a_prem_type
     ) const
 {
-    if(oe_monthly_deduction == a_prem_type)
+    switch(a_prem_type)
         {
-        return GetModalPremMlyDed      (a_year, a_mode, a_specamt);
+        case oe_monthly_deduction:
+            return GetModalPremMlyDed      (a_year, a_mode, a_specamt);
+        case oe_modal_nonmec:
+            return GetModalPremMaxNonMec   (a_year, a_mode, a_specamt);
+        case oe_modal_table:
+            return GetModalPremTgtFromTable(a_year, a_mode, a_specamt);
         }
-    else if(oe_modal_nonmec == a_prem_type)
-        {
-        return GetModalPremMaxNonMec   (a_year, a_mode, a_specamt);
-        }
-    else if(oe_modal_table == a_prem_type)
-        {
-        return GetModalPremTgtFromTable(a_year, a_mode, a_specamt);
-        }
-    else
-        {
-        alarum()
-            << "Unknown modal premium type " << a_prem_type << '.'
-            << LMI_FLUSH
-            ;
-        }
-    return 0.0;
+    throw "Unreachable--silences a compiler diagnostic.";
 }
 
 /// Calculate premium using a seven-pay ratio.
@@ -1408,30 +1398,20 @@ double BasicValues::GetModalSpecAmt
     ,oenum_modal_prem_type premium_type
     ) const
 {
-    if(oe_monthly_deduction == premium_type)
-        {
-        return GetModalSpecAmtMlyDed(annualized_pmt, mce_annual);
-        }
-    else if(oe_modal_nonmec == premium_type)
+    switch(premium_type)
         {
-        return GetModalSpecAmtMinNonMec(annualized_pmt);
-        }
-    else if(oe_modal_table == premium_type)
-        {
-        return round_min_specamt()
-            (
-                (annualized_pmt - TgtPremMonthlyPolFee * 12)
-            /   MortalityRates_->TargetPremiumRates()[0]
-            );
-        }
-    else
-        {
-        alarum()
-            << "Unknown modal premium type " << premium_type << '.'
-            << LMI_FLUSH
-            ;
+        case oe_monthly_deduction:
+            return GetModalSpecAmtMlyDed(annualized_pmt, mce_annual);
+        case oe_modal_nonmec:
+            return GetModalSpecAmtMinNonMec(annualized_pmt);
+        case oe_modal_table:
+            return round_min_specamt()
+                (
+                    (annualized_pmt - TgtPremMonthlyPolFee * 12)
+                /   MortalityRates_->TargetPremiumRates()[0]
+                );
         }
-    return 0.0;
+    throw "Unreachable--silences a compiler diagnostic.";
 }
 
 /// Calculate specified amount using a seven-pay ratio.



reply via email to

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