[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [6197] Establish storage for supplemental specified amount
From: |
Greg Chicares |
Subject: |
[lmi-commits] [6197] Establish storage for supplemental specified amount |
Date: |
Sun, 31 May 2015 02:59:14 +0000 |
Revision: 6197
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6197
Author: chicares
Date: 2015-05-31 02:59:14 +0000 (Sun, 31 May 2015)
Log Message:
-----------
Establish storage for supplemental specified amount
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/death_benefits.cpp
lmi/trunk/death_benefits.hpp
lmi/trunk/ledger_invariant.cpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2015-05-31 02:56:39 UTC (rev 6196)
+++ lmi/trunk/ChangeLog 2015-05-31 02:59:14 UTC (rev 6197)
@@ -36271,3 +36271,20 @@
mc_enum_types.xpp
Add several ledger columns.
+20150531T0256Z <address@hidden> [511]
+
+ input.hpp
+ input_harmonization.cpp
+ input_realization.cpp
+ skin.xrc
+ yare_input.cpp
+ yare_input.hpp
+Establish input for supplemental specified amount.
+
+20150531T0259Z <address@hidden> [511]
+
+ death_benefits.cpp
+ death_benefits.hpp
+ ledger_invariant.cpp
+Establish storage for supplemental specified amount.
+
Modified: lmi/trunk/death_benefits.cpp
===================================================================
--- lmi/trunk/death_benefits.cpp 2015-05-31 02:56:39 UTC (rev 6196)
+++ lmi/trunk/death_benefits.cpp 2015-05-31 02:59:14 UTC (rev 6197)
@@ -41,14 +41,17 @@
// is padded to a greater length.
LMI_ASSERT(length_ <= static_cast<int>(yi.DeathBenefitOption.size()));
LMI_ASSERT(length_ <= static_cast<int>(yi.SpecifiedAmount .size()));
+ LMI_ASSERT(length_ <= static_cast<int>(yi.SupplementalAmount.size()));
// SOMEDAY !! Can't use std::copy() because lengths differ?
- dbopt_ .resize(length_);
- specamt_.resize(length_);
+ dbopt_ .resize(length_);
+ specamt_ .resize(length_);
+ supplamt_.resize(length_);
for(int j = 0; j < length_; ++j)
{
- dbopt_ [j] = yi.DeathBenefitOption[j];
- specamt_[j] = yi.SpecifiedAmount [j];
+ dbopt_ [j] = yi.DeathBenefitOption[j];
+ specamt_ [j] = yi.SpecifiedAmount [j];
+ supplamt_[j] = yi.SupplementalAmount[j];
}
}
@@ -68,3 +71,14 @@
}
}
+//============================================================================
+void death_benefits::set_supplamt(double z, int from_year, int to_year)
+{
+// std::fill_n(supplamt_.begin() + from_year, to_year - from_year, z);
+ // SOMEDAY !! Can't use a standard algorithm?
+ for(int j = from_year; j < std::min(length_, to_year); ++j)
+ {
+ supplamt_[j] = z;
+ }
+}
+
Modified: lmi/trunk/death_benefits.hpp
===================================================================
--- lmi/trunk/death_benefits.hpp 2015-05-31 02:56:39 UTC (rev 6196)
+++ lmi/trunk/death_benefits.hpp 2015-05-31 02:59:14 UTC (rev 6197)
@@ -42,15 +42,18 @@
death_benefits(int, yare_input const&);
~death_benefits();
- void set_specamt(double z, int from_year, int to_year);
+ void set_specamt (double z, int from_year, int to_year);
+ void set_supplamt(double z, int from_year, int to_year);
- std::vector<mcenum_dbopt> const& dbopt() const;
- std::vector<double> const& specamt() const;
+ std::vector<mcenum_dbopt> const& dbopt () const;
+ std::vector<double> const& specamt () const;
+ std::vector<double> const& supplamt() const;
private:
int length_;
- std::vector<mcenum_dbopt> dbopt_;
- std::vector<double> specamt_;
+ std::vector<mcenum_dbopt> dbopt_ ;
+ std::vector<double> specamt_ ;
+ std::vector<double> supplamt_;
};
inline std::vector<mcenum_dbopt> const& death_benefits::dbopt() const
@@ -63,5 +66,10 @@
return specamt_;
}
+inline std::vector<double> const& death_benefits::supplamt() const
+{
+ return supplamt_;
+}
+
#endif // death_benefits_hpp
Modified: lmi/trunk/ledger_invariant.cpp
===================================================================
--- lmi/trunk/ledger_invariant.cpp 2015-05-31 02:56:39 UTC (rev 6196)
+++ lmi/trunk/ledger_invariant.cpp 2015-05-31 02:59:14 UTC (rev 6197)
@@ -457,6 +457,10 @@
{
TermSpecAmt .assign(Length, b->yare_input_.TermRiderAmount);
}
+ else if(b->Database_->Query(DB_TermIsNotRider))
+ {
+ TermSpecAmt = b->DeathBfts_->supplamt();
+ }
else
{
TermSpecAmt .assign(Length, 0.0);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [6197] Establish storage for supplemental specified amount,
Greg Chicares <=