[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [5930] Eradicate obsolete class Server7702Input
From: |
Greg Chicares |
Subject: |
[lmi-commits] [5930] Eradicate obsolete class Server7702Input |
Date: |
Fri, 11 Jul 2014 23:56:35 +0000 |
Revision: 5930
http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=5930
Author: chicares
Date: 2014-07-11 23:56:34 +0000 (Fri, 11 Jul 2014)
Log Message:
-----------
Eradicate obsolete class Server7702Input
Modified Paths:
--------------
lmi/trunk/ChangeLog
lmi/trunk/Makefile.am
lmi/trunk/objects.make
Removed Paths:
-------------
lmi/trunk/ihs_server7702io.cpp
lmi/trunk/ihs_server7702io.hpp
Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2014-07-11 23:28:47 UTC (rev 5929)
+++ lmi/trunk/ChangeLog 2014-07-11 23:56:34 UTC (rev 5930)
@@ -33997,3 +33997,32 @@
ihs_server7702io.hpp
Purge some disused members of an obsolescent class.
+20140711T1157Z <address@hidden> [534]
+
+ ihs_server7702.cpp
+ ihs_server7702io.cpp
+ ihs_server7702io.hpp
+Dichotomize a member datum into "old" and "new".
+
+20140711T2221Z <address@hidden> [534]
+
+ ihs_server7702.cpp
+ ihs_server7702.hpp
+Abjure obsolescent server's "C" linkage.
+
+20140711T2328Z <address@hidden> [534]
+
+ gpt_input.hpp
+ gpt_server.cpp
+ ihs_server7702.cpp
+ ihs_server7702.hpp
+Render class Server7702Input obsolete.
+
+20140711T2356Z <address@hidden> [534]
+
+ Makefile.am
+ ihs_server7702io.cpp [expunged]
+ ihs_server7702io.hpp [expunged]
+ objects.make
+Eradicate obsolete class Server7702Input.
+
Modified: lmi/trunk/Makefile.am
===================================================================
--- lmi/trunk/Makefile.am 2014-07-11 23:28:47 UTC (rev 5929)
+++ lmi/trunk/Makefile.am 2014-07-11 23:56:34 UTC (rev 5930)
@@ -372,7 +372,6 @@
ihs_irc7702a.cpp \
ihs_mortal.cpp \
ihs_server7702.cpp \
- ihs_server7702io.cpp \
lmi.cpp \
md5.cpp \
mec_input.cpp \
@@ -1091,7 +1090,6 @@
ihs_irc7702.hpp \
ihs_irc7702a.hpp \
ihs_server7702.hpp \
- ihs_server7702io.hpp \
ihs_x_type.hpp \
illustration_document.hpp \
illustration_view.hpp \
Deleted: lmi/trunk/ihs_server7702io.cpp
===================================================================
--- lmi/trunk/ihs_server7702io.cpp 2014-07-11 23:28:47 UTC (rev 5929)
+++ lmi/trunk/ihs_server7702io.cpp 2014-07-11 23:56:34 UTC (rev 5930)
@@ -1,130 +0,0 @@
-// GPT server I/O.
-//
-// Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013, 2014 Gregory W. Chicares.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2 as
-// published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software Foundation,
-// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-//
-// http://savannah.nongnu.org/projects/lmi
-// email: <address@hidden>
-// snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
-
-// $Id$
-
-#ifdef __BORLANDC__
-# include "pchfile.hpp"
-# pragma hdrstop
-#endif // __BORLANDC__
-
-#include "ihs_server7702io.hpp"
-
-#include "assert_lmi.hpp"
-#include "value_cast.hpp"
-
-Server7702Input::Server7702Input()
-{
- // Do nothing.
-}
-
-Server7702Input::Server7702Input(gpt_input const& z)
-{
- ContractNumber = z["ContractNumber"].str();
- InforceYear =
exact_cast<tnr_duration>(z["InforceYear"])->value();
- PremsPaidDecrement =
exact_cast<tnr_nonnegative_double>(z["PremsPaidDecrement"])->value();
- Payment =
exact_cast<tnr_nonnegative_double>(z["Payment"])->value();
- ProductName = z["ProductName"].str();
- GroupUnderwritingType =
exact_cast<mce_uw_basis>(z["GroupUnderwritingType"])->value();
- InforceGlp =
exact_cast<tnr_unrestricted_double>(z["InforceGlp"])->value();
- InforceGsp =
exact_cast<tnr_unrestricted_double>(z["InforceGsp"])->value();
- NewIssueAge = exact_cast<tnr_age>(z["IssueAge"])->value();
- OldIssueAge = NewIssueAge;
- NewGender =
exact_cast<mce_gender>(z["NewGender"])->value();
- OldGender =
exact_cast<mce_gender>(z["OldGender"])->value();
- NewSmoking =
exact_cast<mce_smoking>(z["NewSmoking"])->value();
- OldSmoking =
exact_cast<mce_smoking>(z["OldSmoking"])->value();
- NewUnderwritingClass =
exact_cast<mce_class>(z["UnderwritingClass"])->value();
- OldUnderwritingClass = NewUnderwritingClass;
- NewStateOfJurisdiction =
exact_cast<mce_state>(z["StateOfJurisdiction"])->value();
- OldStateOfJurisdiction = NewStateOfJurisdiction;
- NewDbo =
exact_cast<mce_dbopt_7702>(z["NewDbo"])->value();
- OldDbo =
exact_cast<mce_dbopt_7702>(z["OldDbo"])->value();
- NewBenefitAmount =
exact_cast<tnr_nonnegative_double>(z["NewDeathBft"])->value();
- OldBenefitAmount =
exact_cast<tnr_nonnegative_double>(z["OldDeathBft"])->value();
- NewSpecAmt =
exact_cast<tnr_nonnegative_double>(z["NewSpecAmt"])->value();
- OldSpecAmt =
exact_cast<tnr_nonnegative_double>(z["OldSpecAmt"])->value();
- NewQabTermAmt =
exact_cast<tnr_nonnegative_double>(z["NewQabTermAmt"])->value();
- OldQabTermAmt =
exact_cast<tnr_nonnegative_double>(z["OldQabTermAmt"])->value();
- NewWaiverOfPremiumInForce = false;
- OldWaiverOfPremiumInForce = false;
- NewWaiverOfPremiumRating = "None";
- OldWaiverOfPremiumRating = "None";
- NewAccidentalDeathInForce = false;
- OldAccidentalDeathInForce = false;
- NewAccidentalDeathRating = "None";
- OldAccidentalDeathRating = "None";
- NewSubstandardTable =
exact_cast<mce_table_rating>(z["NewSubstandardTable"])->value();
- OldSubstandardTable =
exact_cast<mce_table_rating>(z["OldSubstandardTable"])->value();
- NewTarget =
exact_cast<tnr_nonnegative_double>(z["NewTarget"])->value();
- OldTarget =
exact_cast<tnr_nonnegative_double>(z["OldTarget"])->value();
-}
-
-Server7702Input::operator gpt_input() const
-{
- gpt_input z;
-
- z["ContractNumber"] = ContractNumber;
- z["InforceYear"] = value_cast<std::string>(InforceYear);
- // For class gpt_input, 'InforceAsOfDate' is primary by default,
- // so it needs to be set here.
- calendar_date d = add_years
- (exact_cast<tnr_date>(z["EffectiveDate"])->value()
- ,exact_cast<tnr_duration>(z["InforceYear"])->value()
- ,true
- );
- z["InforceAsOfDate"] = value_cast<std::string>(d);
- z["PremsPaidDecrement"] = value_cast<std::string>(PremsPaidDecrement);
- z["Payment"] = value_cast<std::string>(Payment);
- z["ProductName"] = ProductName;
- z["GroupUnderwritingType"] = GroupUnderwritingType.str();
- z["InforceGlp"] = value_cast<std::string>(InforceGlp);
- z["InforceGsp"] = value_cast<std::string>(InforceGsp);
- z["IssueAge"] = value_cast<std::string>(NewIssueAge);
- LMI_ASSERT(OldIssueAge == NewIssueAge);
- z["NewGender"] = NewGender.str();
- z["OldGender"] = OldGender.str();
- z["NewSmoking"] = NewSmoking.str();
- z["OldSmoking"] = OldSmoking.str();
- z["UnderwritingClass"] = NewUnderwritingClass.str();
- LMI_ASSERT(OldUnderwritingClass == NewUnderwritingClass);
- z["StateOfJurisdiction"] = NewStateOfJurisdiction.str();
- LMI_ASSERT(OldStateOfJurisdiction == NewStateOfJurisdiction);
- z["NewDbo"] = NewDbo.str();
- z["OldDbo"] = OldDbo.str();
- z["NewDeathBft"] = value_cast<std::string>(NewBenefitAmount);
- z["OldDeathBft"] = value_cast<std::string>(OldBenefitAmount);
- z["NewSpecAmt"] = value_cast<std::string>(NewSpecAmt);
- z["OldSpecAmt"] = value_cast<std::string>(OldSpecAmt);
- // It's unclear whether Server7702Input's [Old|New]QabTermAmt
- // members were intended to represent an integrated term rider or
- // a QAB. That doesn't really matter, because these amounts were
- // never used in the old GPT calculations.
- z["NewQabTermAmt"] = value_cast<std::string>(NewQabTermAmt);
- z["OldQabTermAmt"] = value_cast<std::string>(OldQabTermAmt);
- z["NewSubstandardTable"] = NewSubstandardTable.str();
- z["OldSubstandardTable"] = OldSubstandardTable.str();
- z["NewTarget"] = value_cast<std::string>(NewTarget);
- z["OldTarget"] = value_cast<std::string>(OldTarget);
-
- return z;
-}
-
Deleted: lmi/trunk/ihs_server7702io.hpp
===================================================================
--- lmi/trunk/ihs_server7702io.hpp 2014-07-11 23:28:47 UTC (rev 5929)
+++ lmi/trunk/ihs_server7702io.hpp 2014-07-11 23:56:34 UTC (rev 5930)
@@ -1,103 +0,0 @@
-// GPT server I/O.
-//
-// Copyright (C) 1998, 2001, 2002, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2012, 2013, 2014 Gregory W. Chicares.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2 as
-// published by the Free Software Foundation.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software Foundation,
-// Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-//
-// http://savannah.nongnu.org/projects/lmi
-// email: <address@hidden>
-// snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
-
-// $Id$
-
-#ifndef ihs_server7702io_hpp
-#define ihs_server7702io_hpp
-
-#include "config.hpp"
-
-#include "gpt_input.hpp"
-#include "mc_enum.hpp"
-#include "mc_enum_types.hpp"
-
-#include <string>
-
-struct Server7702Input
-{
- Server7702Input();
- Server7702Input(gpt_input const&);
- operator gpt_input() const;
-
- std::string ContractNumber; // an arbitrary string that
identifies the contract uniquely. The contract number may be used, but remember
that the server maintains no database of actual contracts.
- int InforceYear; // number of policy years
completed since issue (so it starts at 0).
- double PremsPaidDecrement; // UNUSED IN OLD TESTDECK the
nontaxable portion of partial surrenders, including any withdrawal fees, plus
involuntary withdrawals to restrict NAAR for reinsurance, plus amounts returned
to preserve \xA77702A status.
- double Payment; // UNUSED IN OLD TESTDECK
gross payments, including those paid by a waiver benefit, before subtracting
any "PremsPaidDecrement" on the same date, but net of any charges for
non-qualified additional benefits that are not prefunded.
- std::string ProductName; // the only permissible
values are those for which data files exist.
- mce_uw_basis GroupUnderwritingType; // permissible values are
Medical, Paramedical, Nonmedical, Simplified_issue, and Guaranteed_issue, and I
assume this is set at issue and can never change.
-
- // The names of the next several parameters begin with the prefix "Old" to
indicate that they are evaluated before the day's transactions. Should an
adjustable event occur, they describe the state of the contract before any
transaction that might have caused the adjustable event. At issue, "Old" values
are the contract's issue parameters.
- double InforceGlp; // as previously calculated
by the server; 0.0 at issue.
- double InforceGsp; // as previously calculated
by the server; 0.0 at issue.
-
- // Each of the remaining parameters must be supplied in both a "new" and
an "old" flavor, reflecting the state of the contract respectively before and
after the day's transactions. For economy of presentation I don't repeat the
list here with "Old" and "New" prefixes, but we'll have to do that when
specifying the record layout.
- int NewIssueAge; // as defined in the GPT
specs.
- int OldIssueAge; // UNUSED IN OLD TESTDECK
- mce_gender NewGender; // male, female, or unisex.
- mce_gender OldGender; // UNUSED IN OLD TESTDECK
- mce_smoking NewSmoking; // smoker, nonsmoker, or
unismoke.
- mce_smoking OldSmoking;
-
- mce_class NewUnderwritingClass; // permissible values are
Preferred, Standard, and Rated.
- mce_class OldUnderwritingClass; // UNUSED IN OLD TESTDECK
- mce_state NewStateOfJurisdiction; // capitalized two-letter
postal abbreviation for the state that determines the premium tax rate.
- mce_state OldStateOfJurisdiction; // UNUSED IN OLD TESTDECK
-
- mce_dbopt_7702 NewDbo; // DBO--A or B only.
- mce_dbopt_7702 OldDbo;
- double NewBenefitAmount; // 'death benefit' as
defined in 7702: we are using the amount payable by reason of death.
- double OldBenefitAmount; // the benefit amount before
today's transactions; at issue, the amount described in the section on dumpins.
- double NewSpecAmt; // SA.
- double OldSpecAmt;
- double NewQabTermAmt; // benefit amount of any
term rider; 0.0 if none.
- double OldQabTermAmt;
- bool NewWaiverOfPremiumInForce; // UNUSED true if waiver
benefit in force, otherwise false.
- bool OldWaiverOfPremiumInForce; // UNUSED
- mce_table_rating NewWaiverOfPremiumRating; // UNUSED substandard rating
for premium waiver; I don't know what the permissible values are.
- mce_table_rating OldWaiverOfPremiumRating; // UNUSED
- bool NewAccidentalDeathInForce; // true if accidental death
benefit in force, otherwise false.
- bool OldAccidentalDeathInForce;
- mce_table_rating NewAccidentalDeathRating; // UNUSED substandard rating
for premium waiver; I don't know what the permissible values are.
- mce_table_rating OldAccidentalDeathRating; // UNUSED
- mce_table_rating NewSubstandardTable; // UNUSED
- mce_table_rating OldSubstandardTable; // UNUSED
- double NewTarget; // the target premium. The
client will always calculate and store it.
- double OldTarget;
-};
-
-struct Server7702Output
-{
- std::string ContractNumber; // the same identifier
supplied as input.
- int Status;
- bool AdjustableEventOccurred;
- double GuidelineLevelPremium; // the new GLP.
- double GuidelineSinglePremium; // the new GSP.
- double GuidelineLevelPremiumPolicyA; // the GLP for notional
policy A-the policy as it was at the last adjustable event, or at issue if
there has been no adjustable event.
- double GuidelineSinglePremiumPolicyA; // the GSP for notional
policy A-the policy as it was at the last adjustable event, or at issue if
there has been no adjustable event.
- double GuidelineLevelPremiumPolicyB; // the GLP for notional
policy B; 0.0 at issue or if there has been no adjustable event.
- double GuidelineSinglePremiumPolicyB; // the GSP for notional
policy B; 0.0 at issue or if there has been no adjustable event.
- double GuidelineLevelPremiumPolicyC; // the GLP for notional
policy C; 0.0 at issue or if there has been no adjustable event.
- double GuidelineSinglePremiumPolicyC; // the GSP for notional
policy C; 0.0 at issue or if there has been no adjustable event.
-};
-
-#endif // ihs_server7702io_hpp
-
Modified: lmi/trunk/objects.make
===================================================================
--- lmi/trunk/objects.make 2014-07-11 23:28:47 UTC (rev 5929)
+++ lmi/trunk/objects.make 2014-07-11 23:56:34 UTC (rev 5930)
@@ -288,7 +288,6 @@
ihs_irc7702a.o \
ihs_mortal.o \
ihs_server7702.o \
- ihs_server7702io.o \
lmi.o \
md5.o \
mec_input.o \
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [lmi-commits] [5930] Eradicate obsolete class Server7702Input,
Greg Chicares <=