update: Fix work inconsistency with neweff, production

In Empire, even babies work.

neweff and production compute the projected population's work,
discarding fractions.

The update first computes the adults' work (discarding fractions),
then newborns' work (discarding fractions), then adds them together.
Double rounding.  Moreover, it uses the old work percentage for the
adults' work, and the new one for the newborns' work.  Broken in
Empire 3.

Fix by recomputing work after grow_people().  This is how things
worked before the regression.  Also restores a bug: growfood()'s work
use is ignored.  Harmless, because fcrate and fgrate are too low for
growfood() to produce anything, and nobody customizes them.  Mark
FIXME anyway.

Update test output changes as expected: available work differs in
sectors where double rounding discards work, an in sectors with
changing work percentage.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2016-06-01 22:37:28 +02:00
parent 3bcad4c0dc
commit 60450f1637
13 changed files with 1685 additions and 1684 deletions

View file

@ -561,9 +561,9 @@
Play#0 output Play#0 1 1 4,0 + 100% 120 .. .. 866 0 805 1 100% 1002 0
Play#0 output Play#0 1 1 6,0 + 100% 120 .. .. 910 0 805 1 100% 1029 0
Play#0 output Play#0 1 1 8,0 + 100% 120 .. .. 1000 0 1000 9 100% 1200 0
Play#0 output Play#0 1 1 10,0 + 100% 120 .. .. 1000 0 999 49 100% 1198 0
Play#0 output Play#0 1 1 12,0 + 100% 120 .. .. 999 0 1000 49 100% 1198 0
Play#0 output Play#0 1 1 14,0 + 100% 120 .. .. 1000 0 999 48 100% 1198 0 1
Play#0 output Play#0 1 1 10,0 + 100% 120 .. .. 1000 0 999 49 100% 1199 0
Play#0 output Play#0 1 1 12,0 + 100% 120 .. .. 999 0 1000 49 100% 1199 0
Play#0 output Play#0 1 1 14,0 + 100% 120 .. .. 1000 0 999 48 100% 1199 0 1
Play#0 output Play#0 1 1 1,1 + 73% 120 .. .. 100 100 67 0 0% 72 0
Play#0 output Play#0 1 1 3,1 + 73% 120 .. .. 67 100 0 0 0% 72 0
Play#0 output Play#0 1 1 5,1 + 73% 120 .. .. 50 100 0 0 0% 72 0
@ -1107,38 +1107,38 @@
Play#0 output Play#0 1 Thu Jan 1 00:00:00 1970
Play#0 output Play#0 1 CENSUS del dst
Play#0 output Play#0 1 own sect eff prd mob uf uf old civ mil uw food work avail fall coa
Play#0 output Play#0 1 3 0,-8 - 15% 120 .. .. 130 0 0 97 57% 16 0 1
Play#0 output Play#0 1 3 2,-8 - 13% 120 .. .. 130 0 0 96 49% 14 0 1
Play#0 output Play#0 1 3 4,-8 - 14% 120 .. .. 130 0 0 97 51% 14 0 1
Play#0 output Play#0 1 3 6,-8 - 14% 120 .. .. 130 0 0 97 51% 14 0 1
Play#0 output Play#0 1 3 8,-8 - 12% 120 .. .. 130 0 0 97 43% 12 0 1
Play#0 output Play#0 1 3 10,-8 - 14% 120 .. .. 130 0 0 97 53% 15 0 1
Play#0 output Play#0 1 3 12,-8 - 13% 120 .. .. 130 0 0 97 47% 13 0 1
Play#0 output Play#0 1 3 14,-8 - 13% 120 .. .. 130 0 0 97 45% 13 0 1
Play#0 output Play#0 1 3 1,-7 - 14% 120 .. .. 130 0 0 97 51% 14 0
Play#0 output Play#0 1 3 3,-7 - 13% 120 .. .. 130 0 0 97 45% 13 0
Play#0 output Play#0 1 3 5,-7 - 9% 120 .. .. 130 0 0 97 33% 10 0
Play#0 output Play#0 1 3 7,-7 - 15% 120 .. .. 130 0 0 97 57% 16 0
Play#0 output Play#0 1 3 9,-7 - 9% 120 .. .. 130 0 0 97 31% 9 0
Play#0 output Play#0 1 3 11,-7 - 11% 120 .. .. 130 0 0 97 39% 12 0
Play#0 output Play#0 1 3 13,-7 - 13% 120 .. .. 130 0 0 96 49% 14 0
Play#0 output Play#0 1 3 15,-7 - 10% 120 .. .. 130 0 0 97 37% 11 0 1
Play#0 output Play#0 1 3 0,-6 - 11% 120 .. .. 130 0 0 97 39% 12 0
Play#0 output Play#0 1 3 2,-6 - 13% 120 .. .. 130 0 0 97 47% 13 0
Play#0 output Play#0 1 3 4,-6 - 9% 120 .. .. 130 0 0 97 31% 9 0
Play#0 output Play#0 1 3 6,-6 - 9% 120 .. .. 130 0 0 97 31% 9 0
Play#0 output Play#0 1 3 8,-6 - 14% 120 .. .. 130 0 0 97 51% 14 0
Play#0 output Play#0 1 3 10,-6 - 15% 120 .. .. 130 0 0 97 55% 15 0
Play#0 output Play#0 1 3 12,-6 - 12% 120 .. .. 130 0 0 97 43% 12 0
Play#0 output Play#0 1 3 14,-6 - 15% 120 .. .. 130 0 0 97 55% 15 0 1
Play#0 output Play#0 1 3 1,-5 - 13% 120 .. .. 130 0 0 97 49% 14 0
Play#0 output Play#0 1 3 3,-5 - 10% 120 .. .. 130 0 0 97 35% 11 0
Play#0 output Play#0 1 3 5,-5 - 14% 120 .. .. 130 0 0 96 53% 15 0
Play#0 output Play#0 1 3 7,-5 - 15% 120 .. .. 130 0 0 97 55% 15 0
Play#0 output Play#0 1 3 9,-5 - 9% 120 .. .. 130 0 0 96 33% 10 0
Play#0 output Play#0 1 3 11,-5 - 13% 120 .. .. 130 0 0 97 45% 13 0
Play#0 output Play#0 1 3 13,-5 - 16% 120 .. .. 130 0 0 96 59% 16 0
Play#0 output Play#0 1 3 15,-5 - 16% 120 .. .. 130 0 0 97 59% 16 0 1
Play#0 output Play#0 1 3 0,-8 - 14% 120 .. .. 130 0 0 97 57% 14 0 1
Play#0 output Play#0 1 3 2,-8 - 12% 120 .. .. 130 0 0 96 49% 12 0 1
Play#0 output Play#0 1 3 4,-8 - 12% 120 .. .. 130 0 0 97 51% 13 0 1
Play#0 output Play#0 1 3 6,-8 - 12% 120 .. .. 130 0 0 97 51% 13 0 1
Play#0 output Play#0 1 3 8,-8 - 11% 120 .. .. 130 0 0 97 43% 11 0 1
Play#0 output Play#0 1 3 10,-8 - 13% 120 .. .. 130 0 0 97 53% 13 0 1
Play#0 output Play#0 1 3 12,-8 - 12% 120 .. .. 130 0 0 97 47% 12 0 1
Play#0 output Play#0 1 3 14,-8 - 11% 120 .. .. 130 0 0 97 45% 12 0 1
Play#0 output Play#0 1 3 1,-7 - 12% 120 .. .. 130 0 0 97 51% 13 0
Play#0 output Play#0 1 3 3,-7 - 11% 120 .. .. 130 0 0 97 45% 12 0
Play#0 output Play#0 1 3 5,-7 - 9% 120 .. .. 130 0 0 97 33% 9 0
Play#0 output Play#0 1 3 7,-7 - 14% 120 .. .. 130 0 0 97 57% 14 0
Play#0 output Play#0 1 3 9,-7 - 8% 120 .. .. 130 0 0 97 31% 9 0
Play#0 output Play#0 1 3 11,-7 - 10% 120 .. .. 130 0 0 97 39% 11 0
Play#0 output Play#0 1 3 13,-7 - 12% 120 .. .. 130 0 0 96 49% 12 0
Play#0 output Play#0 1 3 15,-7 - 10% 120 .. .. 130 0 0 97 37% 10 0 1
Play#0 output Play#0 1 3 0,-6 - 10% 120 .. .. 130 0 0 97 39% 11 0
Play#0 output Play#0 1 3 2,-6 - 12% 120 .. .. 130 0 0 97 47% 12 0
Play#0 output Play#0 1 3 4,-6 - 8% 120 .. .. 130 0 0 97 31% 9 0
Play#0 output Play#0 1 3 6,-6 - 8% 120 .. .. 130 0 0 97 31% 9 0
Play#0 output Play#0 1 3 8,-6 - 12% 120 .. .. 130 0 0 97 51% 13 0
Play#0 output Play#0 1 3 10,-6 - 13% 120 .. .. 130 0 0 97 55% 14 0
Play#0 output Play#0 1 3 12,-6 - 11% 120 .. .. 130 0 0 97 43% 11 0
Play#0 output Play#0 1 3 14,-6 - 13% 120 .. .. 130 0 0 97 55% 14 0 1
Play#0 output Play#0 1 3 1,-5 - 12% 120 .. .. 130 0 0 97 49% 12 0
Play#0 output Play#0 1 3 3,-5 - 9% 120 .. .. 130 0 0 97 35% 10 0
Play#0 output Play#0 1 3 5,-5 - 13% 120 .. .. 130 0 0 96 53% 13 0
Play#0 output Play#0 1 3 7,-5 - 13% 120 .. .. 130 0 0 97 55% 14 0
Play#0 output Play#0 1 3 9,-5 - 9% 120 .. .. 130 0 0 96 33% 9 0
Play#0 output Play#0 1 3 11,-5 - 11% 120 .. .. 130 0 0 97 45% 12 0
Play#0 output Play#0 1 3 13,-5 - 14% 120 .. .. 130 0 0 96 59% 14 0
Play#0 output Play#0 1 3 15,-5 - 14% 120 .. .. 130 0 0 97 59% 14 0 1
Play#0 output Play#0 1 3 0,-4 - 39% 120 .. .. 130 0 0 97 100% 39 0
Play#0 output Play#0 1 3 2,-4 - 39% 120 .. .. 130 0 0 97 100% 39 0
Play#0 output Play#0 1 3 4,-4 - 39% 120 .. .. 130 0 0 97 100% 39 0
@ -1156,10 +1156,10 @@
Play#0 output Play#0 1 3 13,-3 - 39% 120 .. .. 5 130 0 0 97 100% 39 0
Play#0 output Play#0 1 3 15,-3 - 39% 120 .. .. 130 0 0 97 100% 39 0 1
Play#0 output Play#0 1 3 0,-2 ^ 100% 120 .. .. 100 150 100 87 64% 114 0
Play#0 output Play#0 1 3 2,-2 + 100% 120 .. .. 130 0 0 97 65% 51 0
Play#0 output Play#0 1 3 4,-2 + 100% 120 .. .. 130 0 0 97 68% 82 0
Play#0 output Play#0 1 3 6,-2 + 100% 120 .. .. 390 0 0 91 70% 177 0
Play#0 output Play#0 1 3 8,-2 + 100% 120 .. .. 130 0 0 97 100% 75 0
Play#0 output Play#0 1 3 2,-2 + 100% 120 .. .. 130 0 0 97 65% 49 0
Play#0 output Play#0 1 3 4,-2 + 100% 120 .. .. 130 0 0 97 68% 79 0
Play#0 output Play#0 1 3 6,-2 + 100% 120 .. .. 390 0 0 91 70% 167 0
Play#0 output Play#0 1 3 8,-2 + 100% 120 .. .. 130 0 0 97 100% 74 0
Play#0 output Play#0 1 3 10,-2 w 14% 120 .. .. 130 0 0 97 100% 39 0
Play#0 output Play#0 1 3 12,-2 - 39% 120 .. .. 130 0 0 97 100% 39 0
Play#0 output Play#0 1 3 14,-2 - 39% 120 .. .. 130 0 0 96 100% 39 0 1
@ -1249,38 +1249,38 @@
Play#0 output Play#0 1 Thu Jan 1 00:00:00 1970
Play#0 output Play#0 1 HIDDEN VALUES che------- plague----
Play#0 output Play#0 1 own sect eff loyal cnum value stage time mines
Play#0 output Play#0 1 3 0,-8 - 15% 112 0 0 0 0 0
Play#0 output Play#0 1 3 2,-8 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 4,-8 - 14% 127 0 0 0 0 0
Play#0 output Play#0 1 3 6,-8 - 14% 112 0 0 0 0 0
Play#0 output Play#0 1 3 8,-8 - 12% 127 0 0 0 0 0
Play#0 output Play#0 1 3 10,-8 - 14% 127 0 0 0 0 0
Play#0 output Play#0 1 3 12,-8 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 14,-8 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 1,-7 - 14% 112 0 0 0 0 0
Play#0 output Play#0 1 3 3,-7 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 0,-8 - 14% 112 0 0 0 0 0
Play#0 output Play#0 1 3 2,-8 - 12% 112 0 0 0 0 0
Play#0 output Play#0 1 3 4,-8 - 12% 127 0 0 0 0 0
Play#0 output Play#0 1 3 6,-8 - 12% 112 0 0 0 0 0
Play#0 output Play#0 1 3 8,-8 - 11% 127 0 0 0 0 0
Play#0 output Play#0 1 3 10,-8 - 13% 127 0 0 0 0 0
Play#0 output Play#0 1 3 12,-8 - 12% 112 0 0 0 0 0
Play#0 output Play#0 1 3 14,-8 - 11% 112 0 0 0 0 0
Play#0 output Play#0 1 3 1,-7 - 12% 112 0 0 0 0 0
Play#0 output Play#0 1 3 3,-7 - 11% 112 0 0 0 0 0
Play#0 output Play#0 1 3 5,-7 - 9% 127 0 0 0 0 0
Play#0 output Play#0 1 3 7,-7 - 15% 127 0 0 0 0 0
Play#0 output Play#0 1 3 9,-7 - 9% 112 0 0 0 0 0
Play#0 output Play#0 1 3 11,-7 - 11% 112 0 0 0 0 0
Play#0 output Play#0 1 3 13,-7 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 7,-7 - 14% 127 0 0 0 0 0
Play#0 output Play#0 1 3 9,-7 - 8% 112 0 0 0 0 0
Play#0 output Play#0 1 3 11,-7 - 10% 112 0 0 0 0 0
Play#0 output Play#0 1 3 13,-7 - 12% 112 0 0 0 0 0
Play#0 output Play#0 1 3 15,-7 - 10% 127 0 0 0 0 0
Play#0 output Play#0 1 3 0,-6 - 11% 112 0 0 0 0 0
Play#0 output Play#0 1 3 2,-6 - 13% 127 0 0 0 0 0
Play#0 output Play#0 1 3 4,-6 - 9% 112 0 0 0 0 0
Play#0 output Play#0 1 3 6,-6 - 9% 112 0 0 0 0 0
Play#0 output Play#0 1 3 8,-6 - 14% 112 0 0 0 0 0
Play#0 output Play#0 1 3 10,-6 - 15% 112 0 0 0 0 0
Play#0 output Play#0 1 3 12,-6 - 12% 127 0 0 0 0 0
Play#0 output Play#0 1 3 14,-6 - 15% 127 0 0 0 0 0
Play#0 output Play#0 1 3 1,-5 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 3,-5 - 10% 112 0 0 0 0 0
Play#0 output Play#0 1 3 5,-5 - 14% 112 0 0 0 0 0
Play#0 output Play#0 1 3 7,-5 - 15% 112 0 0 0 0 0
Play#0 output Play#0 1 3 0,-6 - 10% 112 0 0 0 0 0
Play#0 output Play#0 1 3 2,-6 - 12% 127 0 0 0 0 0
Play#0 output Play#0 1 3 4,-6 - 8% 112 0 0 0 0 0
Play#0 output Play#0 1 3 6,-6 - 8% 112 0 0 0 0 0
Play#0 output Play#0 1 3 8,-6 - 12% 112 0 0 0 0 0
Play#0 output Play#0 1 3 10,-6 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 12,-6 - 11% 127 0 0 0 0 0
Play#0 output Play#0 1 3 14,-6 - 13% 127 0 0 0 0 0
Play#0 output Play#0 1 3 1,-5 - 12% 112 0 0 0 0 0
Play#0 output Play#0 1 3 3,-5 - 9% 112 0 0 0 0 0
Play#0 output Play#0 1 3 5,-5 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 7,-5 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 9,-5 - 9% 112 0 0 0 0 0
Play#0 output Play#0 1 3 11,-5 - 13% 112 0 0 0 0 0
Play#0 output Play#0 1 3 13,-5 - 16% 112 0 0 0 0 0
Play#0 output Play#0 1 3 15,-5 - 16% 127 0 0 0 0 0
Play#0 output Play#0 1 3 11,-5 - 11% 112 0 0 0 0 0
Play#0 output Play#0 1 3 13,-5 - 14% 112 0 0 0 0 0
Play#0 output Play#0 1 3 15,-5 - 14% 127 0 0 0 0 0
Play#0 output Play#0 1 3 0,-4 - 39% 0 0 0 0 0 0
Play#0 output Play#0 1 3 2,-4 - 39% 0 0 0 0 0 0
Play#0 output Play#0 1 3 4,-4 - 39% 0 0 0 0 0 0
@ -1434,12 +1434,12 @@
Play#0 output Play#0 1 4 -1,-7 - 39% 120 .. .. 130 0 0 97 100% 39 0
Play#0 output Play#0 1 0 -16,-6 - 0% 60 .. .. 0 0 0 100 50% 0 0 1
Play#0 output Play#0 1 4 -14,-6 - 0% 120 .. .. 0 2 0 100 100% 0 0
Play#0 output Play#0 1 4 -12,-6 * 100% 120 .. .. 26 0 0 99 58% 29 0
Play#0 output Play#0 1 4 -12,-6 * 100% 120 .. .. 26 0 0 99 58% 28 0
Play#0 output Play#0 1 4 -10,-6 - 0% 120 .. .. 0 0 0 100 61% 0 0
Play#0 output Play#0 1 0 -8,-6 - 0% 60 .. .. 0 0 20 100 50% 0 0
Play#0 output Play#0 1 4 -6,-6 - 4% 120 .. .. 26 0 0 100 72% 4 0
Play#0 output Play#0 1 4 -4,-6 - 4% 120 .. .. 26 0 0 100 70% 4 0
Play#0 output Play#0 1 4 -2,-6 - 4% 120 .. .. 26 0 0 100 69% 4 0
Play#0 output Play#0 1 4 -6,-6 - 3% 120 .. .. 26 0 0 100 72% 4 0
Play#0 output Play#0 1 4 -4,-6 - 3% 120 .. .. 26 0 0 100 70% 4 0
Play#0 output Play#0 1 4 -2,-6 - 3% 120 .. .. 26 0 0 100 69% 4 0
Play#0 output Play#0 1 4 -15,-5 - 39% 120 .. .. 130 0 0 97 100% 39 0 1
Play#0 output Play#0 1 4 -13,-5 - 39% 120 .. .. 130 0 0 97 100% 39 0
Play#0 output Play#0 1 4 -11,-5 - 39% 120 .. .. 130 0 0 96 100% 39 0
@ -1579,9 +1579,9 @@
Play#0 output Play#0 1 4 -12,-6 * 100% 0 0 0 0 46 0
Play#0 output Play#0 1 4 -10,-6 - 0% 0 0 0 0 48 0
Play#0 output Play#0 1 0 -8,-6 - 0% 0 0 0 0 79 0
Play#0 output Play#0 1 4 -6,-6 - 4% 0 0 0 0 75 0
Play#0 output Play#0 1 4 -4,-6 - 4% 0 0 0 1 1 0
Play#0 output Play#0 1 4 -2,-6 - 4% 0 0 0 1 1 0
Play#0 output Play#0 1 4 -6,-6 - 3% 0 0 0 0 75 0
Play#0 output Play#0 1 4 -4,-6 - 3% 0 0 0 1 1 0
Play#0 output Play#0 1 4 -2,-6 - 3% 0 0 0 1 1 0
Play#0 output Play#0 1 4 -15,-5 - 39% 0 0 0 1 56 0
Play#0 output Play#0 1 4 -13,-5 - 39% 0 0 0 1 40 0
Play#0 output Play#0 1 4 -11,-5 - 39% 0 0 0 1 60 0