(draft)
I haven't verified that the output form in results.txt or results.json.txt matches the internal storage form, but it seems likely.
from prime95 v30.8b15 source module commonb.c starting line 6116
Code:
/* Increment the error counter. The error counter is one 32-bit field containing 5 values. Prior to version 29.3, this was */
/* a one-bit flag if this is a continuation from a save file that did not track error counts, a 7-bit count of errors that were */
/* reproducible, a 8-bit count of ILLEGAL SUMOUTs or zeroed FFT data or corrupt units_bit, a 8-bit count of convolution errors */
/* above 0.4, and a 8-bit count of SUMOUTs not close enough to SUMINPs. */
/* NOTE: The server considers an LL run clean if the error code is XXaaYY00 and XX = YY and aa is ignored. That is, repeatable */
/* round off errors and all ILLEGAL SUMOUTS are ignored. */
/* In version 29.3, a.k.a. Wf in result lines, the 32-bit field changed. See comments in the code below. */
void inc_error_count (
int type,
unsigned long *error_count)
{
unsigned long addin, orin, maxval;
addin = orin = 0;
if (type == 0) addin = 1, maxval = 0xF; // SUMINP != SUMOUT
else if (type == 4) addin = 1 << 4, maxval = 0x0F << 4; // Jacobi error check
else if (type == 1) addin = 1 << 8, maxval = 0x3F << 8; // Roundoff > 0.4
else if (type == 5) orin = 1 << 14; // Zeroed FFT data
else if (type == 6) orin = 1 << 15; // Units bit, counter, or other value corrupted
else if (type == 2) addin = 1 << 16, maxval = 0xF << 16; // ILLEGAL SUMOUT
else if (type == 7) addin = 1 << 20, maxval = 0xF << 20; // High reliability (Gerbicz or dblchk) PRP error
else if (type == 3) addin = 1 << 24, maxval = 0x3F << 24; // Repeatable error
if (addin && (*error_count & maxval) != maxval) *error_count += addin;
*error_count |= orin;
}
So, if the 32 bit error count word was 0x12345678, I think that would mean the following:
1 & 0xC most significant two bits unassigned
0x12 && 0x3F is the repeatable error count field with max value 63 base 10;
3 is GEC error field, max value fifteen
4 is Illegal Sumout field, max value fifteen
5 & 4 is FFT data zeroed error bit field, 0 or 1
5 & 8 is corrupted data indicator bit field, 0 or 1
0x56 & 3F is roundoff error > 0.4 field, max value 63 base 10;
7 is Jacobi symbol error check field, max value fifteen
8 is suminp!=sumout errors field, max value fifteen
Top of reference tree:
https://www.mersenneforum.org/showpo...22&postcount=1