lmi-commits
[Top][All Lists]
Advanced

[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);




reply via email to

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