Skip to content

Commit

Permalink
Update to version 2017.1
Browse files Browse the repository at this point in the history
The SSA released Detailed Calculator 2017.1 on December 22, 2016.
Incorporate the code changes from this release.

Changes in 2017.1 from SSA:
It updates the 2016.2 version with the new economic information from the automatic adjustments announced on October 18, 2016.
  • Loading branch information
mrpippy committed Jan 5, 2017
1 parent dae1424 commit 888f764
Show file tree
Hide file tree
Showing 7 changed files with 70 additions and 63 deletions.
Binary file modified anypiamacprojOSX/Resources/AppResources.ppob
Binary file not shown.
10 changes: 5 additions & 5 deletions oactobjs/BaseYearNonFile.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Declarations for the <see cref="BaseYearNonFile"/> class to manage the
// computation year stored internally.
//
// $Id: BaseYearNonFile.h 1.38 2016/06/27 07:24:16EDT 277133 Development $
// $Id: BaseYearNonFile.h 1.39 2016/10/24 08:11:25EDT 277133 Development $

#pragma once

Expand All @@ -14,7 +14,7 @@
/// <summary>Manages the computation year for a pia program where it is
/// stored with the code.</summary>
///
/// <remarks>Currently <see cref="YEAR"/> is 2016 and <see cref="TR_YEAR"/>
/// <remarks>Currently <see cref="YEAR"/> is 2017 and <see cref="TR_YEAR"/>
/// is 2016. See <see cref="BaseYearFile"/> for a class where the computation
/// year is stored on disk.</remarks>
///
Expand All @@ -24,10 +24,10 @@ class BaseYearNonFile : public BaseYear
public:
/// <summary>Year for which data has been stored.</summary>
///
/// <remarks>The value of 2016 means that the December 2015 benefit increase,
/// 2014 average wage, and 2016 wage base are available. This is updated in
/// <remarks>The value of 2017 means that the December 2016 benefit increase,
/// 2015 average wage, and 2017 wage base are available. This is updated in
/// October after the annual automatic adjustment announcement.</remarks>
static const int YEAR = 2016;
static const int YEAR = 2017;
/// <summary>Year of Trustees Report assumptions.</summary>
///
/// <remarks>This is updated when the TR is released, so it is equal to
Expand Down
5 changes: 4 additions & 1 deletion oactobjs/oactcnst.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Constants used in the various Oact C++ programs and utilities.
//
// $Id: oactcnst.h 1.18 2015/07/30 11:47:28EDT 729915 Development $
// $Id: oactcnst.h 1.19 2016/10/24 08:09:48EDT 277133 Development $

#pragma once

Expand Down Expand Up @@ -71,6 +71,9 @@ const int YEAR2085 = 2085;
// <summary>Last possible year of projection.</summary>
const int YEAR2090 = 2090;

// <summary>Last possible year of projection.</summary>
const int YEAR2095 = 2095;

// <summary>Last possible year of projection.</summary>
const int YEAR2100 = 2100;

Expand Down
22 changes: 11 additions & 11 deletions oactobjs/piadataproj/awbidtnf.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Functions of the <see cref="AwbiDataNonFile"/> class to manage historical
// Social Security parameters stored with the code.
//
// $Id: awbidtnf.cpp 1.45 2016/01/11 08:51:04EST 277133 Development $
// $Id: awbidtnf.cpp 1.46 2016/10/24 08:14:48EDT 277133 Development $

#include "AwbiDataNonFile.h"
#include "PiaException.h"
Expand All @@ -10,18 +10,18 @@

using namespace std;

// <summary>Benefit increases, 1951-2015.</summary>
// <summary>Benefit increases, 1951-2016.</summary>
const double AwbiDataNonFile::cpiincData[] = {
0.0, 12.5, 0.0, 13.0, 0.0, 0.0, 0.0, 0.0, 7.0, 0.0,
0.0, 0.0, 0.0, 0.0, 7.0, 0.0, 0.0, 13.0, 0.0, 15.0,
10.0, 20.0, 0.0, 11.0, 8.0, 6.4, 5.9, 6.5, 9.9, 14.3,
11.2, 7.4, 3.5, 3.5, 3.1, 1.3, 4.2, 4.0, 4.7, 5.4,
3.7, 3.0, 2.6, 2.8, 2.6, 2.9, 2.1, 1.3, 2.4, 3.5,
2.6, 1.4, 2.1, 2.7, 4.1, 3.3, 2.3, 5.8, 0.0, 0.0,
3.6, 1.7, 1.5, 1.7, 0.0
3.6, 1.7, 1.5, 1.7, 0.0, 0.3
};

// <summary>Average wage index, 1937-2014.</summary>
// <summary>Average wage index, 1937-2017.</summary>
const double AwbiDataNonFile::fqData[] = {
1137.96, 1053.24, 1142.36, 1195.00,
1276.04, 1454.28, 1713.52, 1936.32, 2021.40,
Expand All @@ -38,10 +38,10 @@ const double AwbiDataNonFile::fqData[] = {
25913.90, 27426.00, 28861.44, 30469.84, 32154.82,
32921.92, 33252.09, 34064.95, 35648.55, 36952.94,
38651.41, 40405.48, 41334.97, 40711.61, 41673.83,
42979.61, 44321.67, 44888.16, 46481.52
42979.61, 44321.67, 44888.16, 46481.52, 48098.63
};

// <summary>OASDI taxable maximum, 1937-2016.</summary>
// <summary>OASDI taxable maximum, 1937-2017.</summary>
const double AwbiDataNonFile::baseOasdiData[] = {
3000.00, 3000.00, 3000.00, 3000.00,
3000.00, 3000.00, 3000.00, 3000.00, 3000.00,
Expand All @@ -59,20 +59,20 @@ const double AwbiDataNonFile::baseOasdiData[] = {
80400.00, 84900.00, 87000.00, 87900.00, 90000.00,
94200.00, 97500.00, 102000.00, 106800.00, 106800.00,
106800.00, 110100.00, 113700.00, 117000.00, 118500.00,
118500.00
118500.00, 127200.00
};

// <summary>HI taxable maximum, 1991-2016.</summary>
// <summary>HI taxable maximum, 1991-2017.</summary>
const double AwbiDataNonFile::baseHiData[] = {
125000.00, 130200.00, 135000.00, MAXEARN, MAXEARN,
MAXEARN, MAXEARN, MAXEARN, MAXEARN, MAXEARN,
MAXEARN, MAXEARN, MAXEARN, MAXEARN, MAXEARN,
MAXEARN, MAXEARN, MAXEARN, MAXEARN, MAXEARN,
MAXEARN, MAXEARN, MAXEARN, MAXEARN, MAXEARN,
MAXEARN
MAXEARN, MAXEARN
};

// <summary>Old-law taxable maximum, 1937-2016.</summary>
// <summary>Old-law taxable maximum, 1937-2017.</summary>
const double AwbiDataNonFile::base77Data[] = {
3000.00, 3000.00, 3000.00, 3000.00,
3000.00, 3000.00, 3000.00, 3000.00, 3000.00,
Expand All @@ -90,7 +90,7 @@ const double AwbiDataNonFile::base77Data[] = {
59700.00, 63000.00, 64500.00, 65100.00, 66900.00,
69900.00, 72600.00, 75900.00, 79200.00, 79200.00,
79200.00, 81900.00, 84300.00, 87000.00, 88200.00,
88200.00
88200.00, 94500.00
};

/// <summary>Initializes historical parameters info, where the last year of
Expand Down
46 changes: 23 additions & 23 deletions oactobjs/piadataproj/awincnf.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Functions for the <see cref="AwincNonFile"/> class to manage average
// wage increases stored in static arrays.

// $Id: awincnf.cpp 1.69 2016/06/27 07:23:22EDT 277133 Development $
// $Id: awincnf.cpp 1.71 2016/12/07 08:09:02EST 277133 Development $

#include "AwincNonFile.h"
#include "avgwg.h"
Expand All @@ -12,7 +12,7 @@

using namespace std;

// <remarks>Historical average wage increases, 1978-2014.
// <remarks>Historical average wage increases, 1978-2015.
// When updating in November, add a value to this array.</remarks>
const double AwincNonFile::awincHist[] = {
7.941048, 8.747891, 9.007392,
Expand All @@ -22,36 +22,36 @@ const double AwincNonFile::awincHist[] = {
4.890539, 5.835092, 5.233866, 5.572834, 5.529993,
2.385645, 1.002888, 2.444538, 4.648767, 3.659027,
4.596306, 4.538179, 2.300406, -1.508069, 2.363503,
3.133333, 3.122550, 1.278133, 3.549622
3.133333, 3.122550, 1.278133, 3.549622, 3.479039
};

// <remarks>Titles for 2016 Trustees Report.</remarks>
const std::string AwincNonFile::titletrOriginal[NUMASSUMSETS] = {
"2016 Trustees Report Alternative I",
"2016 Trustees Report Alternative II",
"2016 Trustees Report Alternative III",
"No increase beyond 2014 average wage"
"2016 Trustees Report Alternative I, updated October 18, 2016",
"2016 Trustees Report Alternative II, updated October 18, 2016",
"2016 Trustees Report Alternative III, updated October 18, 2016",
"No increase beyond 2015 average wage"
};

// <remarks>Average wage increases for 2016 Trustees Report,
// years 2015-2030.</remarks>
// years 2016-2031.</remarks>
const double AwincNonFile::awincprojtrOriginal[NUMASSUMSETS][NUMPROJYEARS] = {
{ 2.704408,
3.580773, 6.101725, 6.071134, 5.557643, 5.287264,
{ 3.580773, 6.101725, 6.071134, 5.557643, 5.287264,
5.147282, 5.165863, 5.204950, 5.274017, 5.185926,
5.107681, 5.129653, 5.151053, 5.154164, 5.142885 },
{ 2.686401,
2.914549, 4.776114, 4.782813, 4.473994, 4.282417,
5.107681, 5.129653, 5.151053, 5.154164, 5.142885,
5.139617 },
{ 2.914549, 4.776114, 4.782813, 4.473994, 4.282417,
4.226616, 4.078830, 3.987342, 4.036722, 3.939641,
3.862607, 3.881659, 3.901889, 3.906024, 3.897387 },
{ 2.592944,
1.283836, 2.525188, 3.833063, 3.674156, 3.408914,
3.862607, 3.881659, 3.901889, 3.906024, 3.897387,
3.896377 },
{ 1.283836, 2.525188, 3.833063, 3.674156, 3.408914,
3.357910, 3.236268, 3.124667, 3.078889, 2.875574,
2.651464, 2.634866, 2.658625, 2.663887, 2.658010 },
{ 0.0,
2.651464, 2.634866, 2.658625, 2.663887, 2.658010,
2.659553 },
{ 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0 }
0.0 }
};

// <summary>Ultimate average wage increases for 2016 Trustees Report.</summary>
Expand All @@ -68,8 +68,8 @@ AwincNonFile::AwincNonFile( int newIstart, int newMaxyear ) :
AwincDoc(newIstart, newMaxyear)
{
// Set last year of projected average wage increases, inclusive of
// TR_YEAR - 1.
const int LASTYEAR = BaseYearNonFile::TR_YEAR + NUMPROJYEARS - 2;
// YEAR - 1.
const int LASTYEAR = BaseYearNonFile::YEAR + NUMPROJYEARS - 2;
// ensure bounds are great enough to hold data</summary>
const int YEAR78 = YEAR79 - 1;
const int yr1 = min(YEAR78, newIstart);
Expand Down Expand Up @@ -107,8 +107,8 @@ void AwincNonFile::read( int altNum )
try {
// set title
titletr[altNum - 1] = titletrOriginal[altNum - 1];
// Set last year of projected average wage increases, inclusive of
const int LASTYEAR = BaseYearNonFile::TR_YEAR + NUMPROJYEARS - 2;
// Set last year of projected average wage increases, inclusive of YEAR
const int LASTYEAR = BaseYearNonFile::YEAR + NUMPROJYEARS - 2;
// set values in short-range
DoubleAnnual& temp = *awincprojtr[altNum - 1];
for (int year = BaseYearNonFile::YEAR - 1; year <= LASTYEAR; year++) {
Expand Down
40 changes: 22 additions & 18 deletions oactobjs/piadataproj/biprojnf.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Functions for the <see cref="BiprojNonFile"/> class to manage projected
// benefit increases stored in arrays.
//
// $Id: biprojnf.cpp 1.71 2016/06/27 07:23:55EDT 277133 Development $
// $Id: biprojnf.cpp 1.73 2016/12/07 08:09:02EST 277133 Development $

#include "BiprojNonFile.h"
#include "Resource.h"
Expand All @@ -15,26 +15,30 @@ using namespace std;

// <summary>Titles for 2016 Trustees Report</summary>
const string BiprojNonFile::titletrOriginal[NUMASSUMSETS] = {
"2016 Trustees Report Alternative I",
"2016 Trustees Report Alternative II",
"2016 Trustees Report Alternative III",
"No increase beginning with 2016 benefit increase"
"2016 Trustees Report Alternative I, updated October 18, 2016",
"2016 Trustees Report Alternative II, updated October 18, 2016",
"2016 Trustees Report Alternative III, updated October 18, 2016",
"No increase beginning with 2017 benefit increase"
};

// <remarks>Benefit increases for 2016 Trustees Report, 2016 to 2030</remarks>
// <remarks>Benefit increases for 2016 Trustees Report, 2017 to 2031</remarks>
const double BiprojNonFile::biprojtrOriginal[NUMASSUMSETS][NUMPROJYEARS] = {
{ 0.7, 3.7, 3.2, 3.2, 3.2,
{ 3.7, 3.2, 3.2, 3.2,
3.2, 3.2, 3.2, 3.2, 3.2,
3.2, 3.2, 3.2, 3.2, 3.2 },
{ 0.2, 2.9, 2.6, 2.6, 2.6,
3.2, 3.2, 3.2, 3.2, 3.2,
3.2 },
{ 2.9, 2.6, 2.6, 2.6,
2.6, 2.6, 2.6, 2.6, 2.6,
2.6, 2.6, 2.6, 2.6, 2.6 },
{ 0.0, 1.9, 2.1, 2.0, 2.0,
2.6, 2.6, 2.6, 2.6, 2.6,
2.6 },
{ 1.9, 2.1, 2.0, 2.0,
2.0, 2.0, 2.0, 2.0, 2.0,
2.0, 2.0, 2.0, 2.0, 2.0 },
{ 0.0, 0.0, 0.0, 0.0, 0.0,
2.0, 2.0, 2.0, 2.0, 2.0,
2.0 },
{ 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0 }
0.0, 0.0, 0.0, 0.0, 0.0,
0.0 }
};

// <remarks>Ultimate benefit increases for 2016 Trustees Report.</remarks>
Expand All @@ -52,8 +56,8 @@ const double BiprojNonFile::biult[NUMASSUMSETS] = {
BiprojNonFile::BiprojNonFile( int newIstart, int newMaxyear ) :
Biproj(newIstart, newMaxyear)
{
// Set last year of projected benefit increases, inclusive of TR_YEAR.
const int LASTYEAR = BaseYearNonFile::TR_YEAR + NUMPROJYEARS - 1;
// Set last year of projected benefit increases, inclusive of YEAR.
const int LASTYEAR = BaseYearNonFile::YEAR + NUMPROJYEARS - 1;
// ensure bounds are great enough to hold data
const int i1 = min(YEAR79, newIstart);
const int i2 = max(LASTYEAR, newMaxyear);
Expand Down Expand Up @@ -87,8 +91,8 @@ void BiprojNonFile::read( int altNum )
try {
// set title
titletr[altNum - 1] = titletrOriginal[altNum - 1];
// Set last year of projected benefit increases, inclusive of TR_YEAR.
const int LASTYEAR = BaseYearNonFile::TR_YEAR + NUMPROJYEARS - 1;
// Set last year of projected benefit increases, inclusive of YEAR.
const int LASTYEAR = BaseYearNonFile::YEAR + NUMPROJYEARS - 1;
// set values in short-range
DoubleAnnual& temp = *biprojtr[altNum - 1];
for (int year = BaseYearNonFile::YEAR; year <= LASTYEAR; year++) {
Expand Down
10 changes: 5 additions & 5 deletions oactobjs/piadataproj/rtgenrl.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Functions for the <see cref="RtGeneral"/> class - parent of classes to
// manage one retirement test projection.

// $Id: rtgenrl.cpp 1.48 2016/01/11 08:51:04EST 277133 Development $
// $Id: rtgenrl.cpp 1.49 2016/10/24 08:14:49EDT 277133 Development $

#include "rtgenrl.h"
#include "Resource.h"
Expand All @@ -11,7 +11,7 @@

using namespace std;

// <summary>The age 62 monthly exempt amounts, 1951-2016.</summary>
// <summary>The age 62 monthly exempt amounts, 1951-2017.</summary>
const double Rtea62m::theAmts[] = {
50.0, 50.0, 75.0, 75.0, 80.0, // 1951-1955
80.0, 80.0, 80.0, 100.0, 100.0, // 1956-1960
Expand All @@ -26,9 +26,9 @@ const double Rtea62m::theAmts[] = {
890.0, 940.0, 960.0, 970.0, 1000.0, // 2001-2005
1040.0, 1080.0, 1130.0, 1180.0, 1180.0, // 2006-2010
1180.0, 1220.0, 1260.0, 1290.0, 1310.0, // 2011-2015
1310.0 // 2016
1310.0, 1410.0 // 2016-2017
};
// <summary>The age 65 monthly exempt amounts, 1951-2016.</summary>
// <summary>The age 65 monthly exempt amounts, 1951-2017.</summary>
const double Rtea65m::theAmts[] = {
50.0, 50.0, 75.0, 75.0, 80.0, // 1951-1955
80.0, 80.0, 80.0, 100.0, 100.0, // 1956-1960
Expand All @@ -43,7 +43,7 @@ const double Rtea65m::theAmts[] = {
2083.33333, 2500.0, 2560.0, 2590.0, 2650.0, // 2001-2005
2770.0, 2870.0, 3010.0, 3140.0, 3140.0, // 2006-2010
3140.0, 3240.0, 3340.0, 3450.0, 3490.0, // 2011-2015
3490.0 // 2016
3490.0, 3740.0 // 2016-2017
};

// <summary>Exempt amounts, 1961-1972.</summary>
Expand Down

0 comments on commit 888f764

Please sign in to comment.