[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5274] Constrain salary-based specamt as newly documented
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5274] Constrain salary-based specamt as newly documented |
Date: |
Thu, 25 Aug 2011 14:32:52 +0000 |
Revision: 5274
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5274
Author: chicares
Date: 2011-08-25 14:32:51 +0000 (Thu, 25 Aug 2011)
Log Message:
-----------
Constrain salary-based specamt as newly documented
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/ihs_avstrtgy.cpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2011-08-24 19:50:15 UTC (rev 5273)
+++ lmi/trunk/ChangeLog 2011-08-25 14:32:51 UTC (rev 5274)
@@ -28417,3 +28417,8 @@
skin_variable_annuity.xrc
Add titles to sequence editor dialog.
+20110825T1432Z <address@hidden> [615]
+
+ ihs_avstrtgy.cpp
+Constrain salary-based specamt as newly documented.
+
Modified: lmi/trunk/ihs_avstrtgy.cpp
===================================================================
--- lmi/trunk/ihs_avstrtgy.cpp 2011-08-24 19:50:15 UTC (rev 5273)
+++ lmi/trunk/ihs_avstrtgy.cpp 2011-08-25 14:32:51 UTC (rev 5274)
@@ -57,6 +57,21 @@
/// makes sense to ignore such extra payments; and accepting the
/// argument for some strategies but not for others would introduce
/// inconsistency in addition to complexity.
+///
+/// The result of a salary-based strategy is constrained to be
+/// nonnegative, because if 'SalarySpecifiedAmountOffset' is
+/// sufficiently large, then specamt would be negative, which cannot
+/// make any sense. Other than that, no minimum is imposed. A case
+/// could be made for enforcing limits chosen from:
+/// DB_MinIssSpecAmt
+/// DB_MinRenlSpecAmt
+/// DB_MinRenlBaseSpecAmt
+/// DB_MaxIssSpecAmt
+/// DB_MaxRenlSpecAmt
+/// but that should be done unconditionally elsewhere; furthermore,
+/// either 'DB_MinRenlSpecAmt' or 'DB_MinRenlBaseSpecAmt' might apply,
+/// depending on whether the term rider remains in force--which can be
+/// ascertained only during monthiversary processing.
double AccountValue::CalculateSpecAmtFromStrategy
(int actual_year
@@ -88,7 +103,7 @@
y = std::min(y, yare_input_.SalarySpecifiedAmountCap);
}
y -= yare_input_.SalarySpecifiedAmountOffset;
- z = y;
+ z = std::max(0.0, y);
}
break;
case mce_sa_input_scalar:
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5274] Constrain salary-based specamt as newly documented,
Greg Chicares <=