[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [6245] Demote defects marked only in the antediluvian bran
From: |
Greg Chicares |
Subject: |
[lmi-commits] [6245] Demote defects marked only in the antediluvian branch |
Date: |
Thu, 13 Aug 2015 22:06:50 +0000 |
Revision: 6245
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6245
Author: chicares
Date: 2015-08-13 22:06:47 +0000 (Thu, 13 Aug 2015)
Log Message:
-----------
Demote defects marked only in the antediluvian branch
Modified Paths:
--------------
lmi/trunk/accountvalue.cpp
lmi/trunk/solve.cpp
Modified: lmi/trunk/accountvalue.cpp
===================================================================
--- lmi/trunk/accountvalue.cpp 2015-08-13 00:39:21 UTC (rev 6244)
+++ lmi/trunk/accountvalue.cpp 2015-08-13 22:06:47 UTC (rev 6245)
@@ -33,7 +33,7 @@
#include "database.hpp"
#include "dbnames.hpp"
#include "death_benefits.hpp"
-#include "input.hpp" // Magic static function.
+#include "input.hpp" // magically_rectify()
#include "interest_rates.hpp"
#include "ledger.hpp"
#include "ledger_invariant.hpp"
@@ -42,9 +42,9 @@
#include "mortality_rates.hpp"
#include "outlay.hpp"
-#include <algorithm> // std::max(), std::min()
-#include <cmath> // std::pow()
-#include <numeric> // std::accumulate()
+#include <algorithm> // std::max(), std::min()
+#include <cmath> // std::pow()
+#include <numeric> // std::accumulate()
namespace
{
@@ -89,7 +89,7 @@
} // Unnamed namespace.
/*
-TODO ??
+IHS !!
We want transaction functions to be reorderable. That means each must be
atomic--reentrant, if you will. Is this feasible?
@@ -159,7 +159,7 @@
double z;
if(Solving)
{
- // TODO ?? Isn't this unreachable?
+ // IHS !! Isn't this unreachable?
throw std::logic_error("This line had seemed to be unreachable.");
// LMI_ASSERT(TheBasis corresponds to
yare_input_.SolveExpenseGeneralAccountBasis);
// z = Solve();
@@ -220,7 +220,7 @@
{
if(Solving)
{
- // TODO ?? This seems wasteful. Track down the reason for doing it.
+ // IHS !! This seems wasteful. Track down the reason for doing it.
InvariantValues().Init(this);
}
@@ -271,14 +271,14 @@
,int a_InforceMonth
)
{
- Year = a_Year; // TODO ?? expunge?
+ Year = a_Year; // IHS !! expunge?
RunBasis_ = a_TheBasis;
set_cloven_bases_from_run_basis(RunBasis_, GenBasis_, SepBasis_);
-// TODO ?? Solve...() should reset not inputs but...?
+// IHS !! Solve...() should reset not inputs but...?
- // TODO ?? These variables are set in current run and used in
+ // IHS !! These variables are set in current run and used in
// guaranteed and midpoint runs.
YearsCoiRate0 = MortalityRates_->MonthlyCoiRates(GenBasis_)[Year];
@@ -340,7 +340,7 @@
GrossPmts .assign(12, 0.0);
NetPmts .assign(12, 0.0);
- // TODO ?? Strategy here?
+ // IHS !! Strategy here?
for(Month = a_InforceMonth; Month < 12; Month++)
{
@@ -359,7 +359,7 @@
TxSetDeathBft();
VariantValues().EOYDeathBft[Year] = deathbft;
- // TODO ?? Change one of these names, which differ only in the terminal
's'.
+ // IHS !! Change one of these names, which differ only in the terminal 's'.
InvariantValues().GrossPmt[Year] += std::accumulate(GrossPmts.begin(),
GrossPmts.end(), 0.0);
InvariantValues().Outlay[Year] =
InvariantValues().GrossPmt [Year]
@@ -673,7 +673,7 @@
// Ignores strategies such as pay guideline max--see PerformPmtStrategy().
// Ignores no-lapse periods and other death benefit guarantees.
// Some systems force monthly premium to be integral cents even though
-// mode is not monthly; TODO ?? is this something we need to do here?
+// mode is not monthly; IHS !! is this something we need to do here?
// IHS !! Tiered premium implemented in lmi, but not here.
void AccountValue::TxPmt()
{
@@ -698,7 +698,7 @@
GrossPmts[Month] += TotalDumpin;
}
- // TODO ?? Test maximum premium. Round it with Rounding.RoundMAXP .
+ // IHS !! Test maximum premium. Round it with Rounding.RoundMAXP .
// (DB-AV)/YearsCorridorFactor - AV
// Subtract premium load from gross premium yielding net premium.
@@ -907,17 +907,17 @@
{
case mce_option1:
{
- // TODO ?? Spec amt reduced for option 1 even if in corridor?
+ // IHS !! Spec amt reduced for option 1 even if in corridor?
// --taken care of by max WD formula
- // TODO ?? If WD causes spec amt < min spec amt, do we:
+ // IHS !! If WD causes spec amt < min spec amt, do we:
// set spec amt = min spec amt?
// reduce the WD?
// lapse the policy?
-// TODO ?? ActualSpecAmt = std::min(ActualSpecAmt, deathbft - wd);
+// IHS !! ActualSpecAmt = std::min(ActualSpecAmt, deathbft - wd);
ActualSpecAmt -= wd;
ActualSpecAmt = std::max(ActualSpecAmt, MinSpecAmt);
ActualSpecAmt = round_specamt()(ActualSpecAmt);
- // TODO ?? If WD causes AV < min AV, do we:
+ // IHS !! If WD causes AV < min AV, do we:
// reduce the WD?
// lapse the policy?
// Maybe it can't happen because of max WD defn?
@@ -940,7 +940,7 @@
// Deduct withdrawal fee.
wd -= std::min(WDFee, wd * WDFeeRate);
- // IHS !! This treats input WD as gross; it prolly should be net. But
compare lmi.
+ // IHS !! This treats input WD as gross; it probably should be net. But
compare lmi.
InvariantValues().NetWD[Year] = wd;
// IHS !! TaxBasis -= wd; // Withdrawals are subtracted from basis in lmi.
Modified: lmi/trunk/solve.cpp
===================================================================
--- lmi/trunk/solve.cpp 2015-08-13 00:39:21 UTC (rev 6244)
+++ lmi/trunk/solve.cpp 2015-08-13 22:06:47 UTC (rev 6245)
@@ -32,11 +32,11 @@
#include "death_benefits.hpp"
#include "ledger_invariant.hpp"
#include "ledger_variant.hpp"
-#include "mc_enum_types_aux.hpp" // set_run_basis_from_cloven_bases()
+#include "mc_enum_types_aux.hpp" // set_run_basis_from_cloven_bases()
#include "outlay.hpp"
#include "zero.hpp"
-#include <algorithm> // std::min(), std::max()
+#include <algorithm> // std::max(), std::min()
/*
IHS !! These issues have been addressed in lmi, but not here:
@@ -53,7 +53,7 @@
namespace
{
AccountValue* That;
- // TODO ?? Use a struct for these?
+ // IHS !! Use a struct for these?
double ThatSolveTargetCSV;
mcenum_solve_target ThatSolveTarget;
int ThatSolveTgtYear;
@@ -159,7 +159,7 @@
//============================================================================
inline static double SolveSpecAmt(double CandidateValue)
{
-// TODO ?? Change surrchg when SA changes?
+// IHS !! Change surrchg when SA changes?
That->SolveSetSpecAmt(CandidateValue, ThatSolveBegYear, ThatSolveEndYear);
return only_set_values ? 0.0 : SolveTest();
}
@@ -249,7 +249,7 @@
ThatSolveTgtYear = std::min(ThatSolveTgtYear, BasicValues::GetLength());
// ... or before the beginning
ThatSolveTgtYear = std::max(ThatSolveTgtYear, 1);
- // We should do the same for these I guess...TODO ?? but here?
+ // We should do the same for these I guess...IHS !! but here?
ThatSolveBegYear = yare_input_.SolveBeginYear;
ThatSolveEndYear = yare_input_.SolveEndYear;
@@ -276,7 +276,7 @@
UpperBound = 1000000.0 * Outlay_->ee_modal_premiums()[0];
Decimals = 0;
SolveFn = SolveSpecAmt;
- // TODO ?? Respect minimum premium?
+ // IHS !! Respect minimum premium?
}
break;
case mce_solve_ee_prem:
@@ -284,7 +284,7 @@
// We aren't interested in negative premiums.
LowerBound = 0.0;
// If solved premium exceeds specified amount, there's a problem.
- // TODO ?? Better to use the maximum SA, not the first SA?
+ // IHS !! Better to use the maximum SA, not the first SA?
UpperBound = DeathBfts_->specamt()[0];
Decimals = 2;
SolveFn = SolvePrem;
@@ -294,7 +294,7 @@
{
// We aren't interested in negative loans.
LowerBound = 0.0;
- // TODO ?? Not satisfactory.
+ // IHS !! Not satisfactory.
UpperBound = 1000000.0 * Outlay_->ee_modal_premiums()[0];
Decimals = 2;
SolveFn = SolveLoan;
@@ -304,7 +304,7 @@
{
// We aren't interested in negative withdrawals.
LowerBound = 0.0;
- // TODO ?? Not satisfactory.
+ // IHS !! Not satisfactory.
UpperBound = 1000000.0 * Outlay_->ee_modal_premiums()[0];
Decimals = 2;
SolveFn = SolveWD;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [6245] Demote defects marked only in the antediluvian branch,
Greg Chicares <=