View Single Post
 2022-09-08, 05:46 #14 kriesel     "TF79LL86GIMPS96gpu17" Mar 2017 US midwest 2·53·71 Posts Interpreting the error-counts 32-bit word (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 Last fiddled with by kriesel on 2022-09-09 at 01:20