Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DETAILS var anypiab #7

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from
Draft

DETAILS var anypiab #7

wants to merge 4 commits into from

Conversation

thadk
Copy link
Member

@thadk thadk commented May 22, 2020

I noticed on the main linux/macOS build if you add a DETAILS e.g. add_compile_definitions("ANYPIAB" "DETAILS") then it does not build, seemingly because of MFC again. Maybe they put the DETAILS behind macros for linux's sake. Let's see if Windows works in the test.

https://www.ssa.gov/OACT/anypia/anypiab.html

If anypiab is compiled with DETAILS defined, then there is a file named details.out with detailed output.

(Didn't intentionally base this on #6 but I guess we'll see what happens with mac emscripten as well!)

@thadk thadk changed the title Details var any piab DETAILS var any piab May 22, 2020
@thadk thadk changed the title DETAILS var any piab DETAILS var anypiab May 22, 2020
@mrpippy
Copy link
Collaborator

mrpippy commented May 28, 2020

Ah yeah, kind of a bummer to see MFC functions sprinkled throughout oactobjs32. The strings being referenced come from the resource file, they would have to be duplicated in a cpp file.
It probably wouldn't be too hard to do, is the DETAILS output useful?

@thadk
Copy link
Member Author

thadk commented May 28, 2020

I just tried and I'm not even sure MSBuild.exe can successfully build anypiab with DETAILS now actually: https://gist.github.com/thadk/ca1c676f576f668aae41dd038ebd0ddb

Regardless, it seems like there are at least three routes to interface with anypia:

  1. Use anypiab + generate our own pia files use existing output like *.PIA structure #2. PIA files do support our highest priority API screen for future projections: Where to place AnyPIA Assumptions in the Windfall app windfall-elimination#190
  2. Make a stateful anypiajs, a bit like anypia32, populating the earnings record from the XML each time the results change using C extern's, and allowing manipulation with C externs.
  3. Make a one-off anypiajs, a bit like anypiab, which is re-run from scratch like anypiab, re-running it and , populating the earnings record from the XML each time the results change using C extern's.

Just seeing your comment on #2 about memory management and exceptions, will reply over there.

@thadk thadk mentioned this pull request May 28, 2020
@thadk
Copy link
Member Author

thadk commented Jun 3, 2020

I thought maybe the DETAILS meant that the anypiab output would be just like the anypia32. Similar but not quite.

Without DETAILS
123-45-0001 01/15/1940 1.9e+03 3.4e+03 1.9e+03 65 and 6 months L T

vs. with "DETAILS" from Alex's new branch

      
                         R E T I R E M E N T   E S T I M A T E
      
      
                                                     June 02, 2020
      
      
      Worker date of birth: January 15, 1940
      
      
                            R E G U L A R   E A R N I N G S
      
      
        61       0.00  70   7,800.00  79  22,900.00  88  45,000.00  97  65,400.00
        62   4,800.00  71   7,800.00  80  25,900.00  89  48,000.00  98  68,400.00
        63   4,800.00  72   9,000.00  81  29,700.00  90  51,300.00  99  72,600.00
        64   4,800.00  73  10,800.00  82  32,400.00  91  53,400.00  00  76,200.00
        65   4,800.00  74  13,200.00  83  35,700.00  92  55,500.00  01  80,400.00
        66   6,600.00  75  14,100.00  84  37,800.00  93  57,600.00  02  84,900.00
        67   6,600.00  76  15,300.00  85  39,600.00  94  60,600.00  03  87,000.00
        68   7,800.00  77  16,500.00  86  42,000.00  95  61,200.00  04  87,900.00
        69   7,800.00  78  17,700.00  87  43,800.00  96  62,700.00  05       0.00
      
      
                            I N D E X E D   E A R N I N G S
      
      
        61       0.00  70  40,542.82  79  64,144.60  88  74,840.38  97  76,676.34
        62  35,965.68  71  38,603.13  80  66,553.12  89  76,789.35  98  76,205.13
        63  35,104.79  72  40,566.51  81  69,337.92  90  78,445.11  99  76,614.77
        64  33,726.47  73  45,813.29  82  71,694.43  91  78,722.67  00  76,200.00
        65  33,129.94  74  52,852.24  83  75,327.06  92  77,809.45  01  80,400.00
        66  42,974.15  75  52,530.09  84  75,329.84  93  80,065.02  02  84,900.00
        67  40,706.68  76  53,321.39  85  75,692.09  94  82,033.37  03  87,000.00
        68  45,014.07  77  54,252.04  86  77,965.39  95  79,652.80  04  87,900.00
        69  42,554.77  78  53,916.13  87  76,432.33  96  77,800.22  05       0.00
      
      Dividend:   2,447,759.56                                  Divisor months: 420
      
       Eff.                          Increment              Family
       date       AIME      PIA       factor       MBA      maximum
      -------    ------    ------    ---------    ------    -------
      07/2005     5,827  1,939.00      1.00000  1,939.00   3,394.10 
      
         Special Minimum PIA: 655.90
      Years of coverage for special minimum: 43

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants