[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5794] Refactor for clarity and speed
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5794] Refactor for clarity and speed |
Date: |
Tue, 15 Oct 2013 13:38:13 +0000 |
Revision: 5794
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5794
Author: chicares
Date: 2013-10-15 13:38:12 +0000 (Tue, 15 Oct 2013)
Log Message:
-----------
Refactor for clarity and speed
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/gpt_commutation_functions.cpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2013-10-15 11:32:26 UTC (rev 5793)
+++ lmi/trunk/ChangeLog 2013-10-15 13:38:12 UTC (rev 5794)
@@ -32691,3 +32691,14 @@
gpt_commutation_functions.cpp
Assert more preconditions.
+20131015T1132Z <address@hidden> [542]
+
+ gpt_commutation_functions.cpp
+ gpt_commutation_functions.hpp
+Move assertions to improve speed.
+
+20131015T1338Z <address@hidden> [542]
+
+ gpt_commutation_functions.cpp
+Refactor for clarity and speed.
+
Modified: lmi/trunk/gpt_commutation_functions.cpp
===================================================================
--- lmi/trunk/gpt_commutation_functions.cpp 2013-10-15 11:32:26 UTC (rev
5793)
+++ lmi/trunk/gpt_commutation_functions.cpp 2013-10-15 13:38:12 UTC (rev
5794)
@@ -148,28 +148,28 @@
,gpt_scalar_parms const& args
) const
{
- double endowment = D_endt_ * args.endt_bft;
- double charges =
- M_ [args.duration] * args.f3bft
- + N_chg_pol_ [args.duration]
- + N_chg_sa_ [args.duration] * args.chg_sa_amt
- + N_qab_gio_ [args.duration] * args.qab_gio_amt
- + N_qab_adb_ [args.duration] * args.qab_adb_amt
- + N_qab_term_ [args.duration] * args.qab_term_amt
- + N_qab_spouse_[args.duration] * args.qab_spouse_amt
- + N_qab_child_ [args.duration] * args.qab_child_amt
- + N_qab_waiver_[args.duration] * args.qab_waiver_amt
+ int const j = args.duration;
+ double numerator =
+ D_endt_ * args.endt_bft
+ + M_ [j] * args.f3bft
+ + N_chg_pol_ [j]
+ + N_chg_sa_ [j] * args.chg_sa_amt
+ + N_qab_gio_ [j] * args.qab_gio_amt
+ + N_qab_adb_ [j] * args.qab_adb_amt
+ + N_qab_term_ [j] * args.qab_term_amt
+ + N_qab_spouse_[j] * args.qab_spouse_amt
+ + N_qab_child_ [j] * args.qab_child_amt
+ + N_qab_waiver_[j] * args.qab_waiver_amt
;
- double den_tgt = (glp_or_gsp ? D_net_tgt_ : N_net_tgt_)[args.duration];
- double den_exc = (glp_or_gsp ? D_net_exc_ : N_net_exc_)[args.duration];
- double z = (endowment + charges) / den_tgt;
+ double denom_tgt = glp_or_gsp ? D_net_tgt_[j] : N_net_tgt_[j];
+ double z = numerator / denom_tgt;
if(z <= args.target)
{
return z;
}
- charges += args.target * (den_exc - den_tgt);
- return (endowment + charges) / den_exc;
+ double denom_exc = glp_or_gsp ? D_net_exc_[j] : N_net_exc_[j];
+ return (numerator + args.target * (denom_exc - denom_tgt)) / denom_exc;
}
gpt_cf_triad::gpt_cf_triad
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5794] Refactor for clarity and speed,
Greg Chicares <=