@@ -201,70 +201,78 @@ int main()
201201 // *INDENT-OFF*
202202 TEST_CASE local_test_cases[] = {
203203 /* Predefined polynomials. */
204- /* 00 */ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x00000000 , false , false }, 0x75 },
205- /* 01 */ { {POLY_7BIT_SD , 7 , 0x0000007F , 0x00000000 , false , false }, 0x50 },
206- /* 02 */ { {POLY_7BIT_SD , 7 , 0x0000002B , 0x00000000 , false , false }, 0x3A },
207- /* 03 */ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x0000007F , false , false }, 0x0A },
208- /* 04 */ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x0000002B , false , false }, 0x5E },
209- /* 05 */ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x00000000 , true , false }, 0x52 },
210- /* 06 */ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x00000000 , false , true }, 0x57 },
211-
212- /* 07 */ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x00000000 , false , false }, 0xF4 },
213- /* 08 */ { {POLY_8BIT_CCITT , 8 , 0x000000FF , 0x00000000 , false , false }, 0xFB },
214- /* 09 */ { {POLY_8BIT_CCITT , 8 , 0x000000AB , 0x00000000 , false , false }, 0x87 },
215- /* 10 */ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x000000FF , false , false }, 0x0B },
216- /* 11 */ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x000000AB , false , false }, 0x5F },
217- /* 12 */ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x00000000 , true , false }, 0x04 },
218- /* 13 */ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x00000000 , false , true }, 0x2F },
219-
220- /* 14 */ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x00000000 , false , false }, 0x31C3 },
221- /* 15 */ { {POLY_16BIT_CCITT , 16 , 0x0000FFFF , 0x00000000 , false , false }, 0x29B1 },
222- /* 16 */ { {POLY_16BIT_CCITT , 16 , 0x0000ABAB , 0x00000000 , false , false }, 0x7D70 },
223- /* 17 */ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x0000FFFF , false , false }, 0xCE3C },
224- /* 18 */ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x0000ABAB , false , false }, 0x9A68 },
225- /* 19 */ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x00000000 , true , false }, 0x9184 },
226- /* 20 */ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x00000000 , false , true }, 0xC38C },
227-
228- /* 21 */ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x00000000 , false , false }, 0xFEE8 },
229- /* 22 */ { {POLY_16BIT_IBM , 16 , 0x0000FFFF , 0x00000000 , false , false }, 0xAEE7 },
230- /* 23 */ { {POLY_16BIT_IBM , 16 , 0x0000ABAB , 0x00000000 , false , false }, 0x0887 },
231- /* 24 */ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x0000FFFF , false , false }, 0x0117 },
232- /* 25 */ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x0000ABAB , false , false }, 0x5543 },
233- /* 26 */ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x00000000 , true , false }, 0xBCDD },
234- /* 27 */ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x00000000 , false , true }, 0x177F },
235-
236- /* 28 */ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0x00000000 , false , false }, 0x89A1897F },
237- /* 29 */ { {POLY_32BIT_ANSI , 32 , 0xFFFFFFFF , 0x00000000 , false , false }, 0x0376E6E7 },
238- /* 30 */ { {POLY_32BIT_ANSI , 32 , 0xABABABAB , 0x00000000 , false , false }, 0x871A2FAA },
239- /* 31 */ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0xFFFFFFFF , false , false }, 0x765E7680 },
240- /* 32 */ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0xABABABAB , false , false }, 0x220A22D4 },
241- /* 33 */ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0x00000000 , true , false }, 0x11B4BFB4 },
242- /* 34 */ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0x00000000 , false , true }, 0xFE918591 },
243-
244- /* Not-predefined polynomials. */
245- /* 35 */ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x00000000 , false , false }, 0xA2 },
246- /* 36 */ { {POLY_8BIT_MAXIM , 8 , 0x000000FF , 0x00000000 , false , false }, 0xF7 },
247- /* 37 */ { {POLY_8BIT_MAXIM , 8 , 0x000000AB , 0x00000000 , false , false }, 0x71 },
248- /* 38 */ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x000000FF , false , false }, 0x5D },
249- /* 39 */ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x000000AB , false , false }, 0x09 },
250- /* 40 */ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x00000000 , true , false }, 0x85 },
251- /* 41 */ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x00000000 , false , true }, 0x45 },
252-
253- /* 42 */ { {POLY_16BIT_MAXIM , 16 , 0x00000000 , 0x00000000 , false , false }, 0xFEE8 },
254- /* 43 */ { {POLY_16BIT_MAXIM , 16 , 0x0000FFFF , 0x00000000 , false , false }, 0xAEE7 },
255- /* 44 */ { {POLY_16BIT_MAXIM , 16 , 0x0000ABAB , 0x00000000 , false , false }, 0x0887 },
256- /* 45 */ { {POLY_16BIT_MAXIM , 16 , 0x00000000 , 0x0000FFFF , false , false }, 0x0117 },
257- /* 46 */ { {POLY_16BIT_MAXIM , 16 , 0x00000000 , 0x0000ABAB , false , false }, 0x5543 },
258- /* 47 */ { {POLY_16BIT_MAXIM , 16 , 0x00000000 , 0x00000000 , true , false }, 0xBCDD },
259- /* 48 */ { {POLY_16BIT_MAXIM , 16 , 0x00000000 , 0x00000000 , false , true }, 0x177F },
260-
261- /* 49 */ { {POLY_32BIT_POSIX , 32 , 0x00000000 , 0x00000000 , false , false }, 0x89A1897F },
262- /* 50 */ { {POLY_32BIT_POSIX , 32 , 0xFFFFFFFF , 0x00000000 , false , false }, 0x0376E6E7 },
263- /* 51 */ { {POLY_32BIT_POSIX , 32 , 0xABABABAB , 0x00000000 , false , false }, 0x871A2FAA },
264- /* 52 */ { {POLY_32BIT_POSIX , 32 , 0x00000000 , 0xFFFFFFFF , false , false }, 0x765E7680 },
265- /* 53 */ { {POLY_32BIT_POSIX , 32 , 0x00000000 , 0xABABABAB , false , false }, 0x220A22D4 },
266- /* 54 */ { {POLY_32BIT_POSIX , 32 , 0x00000000 , 0x00000000 , true , false }, 0x11B4BFB4 },
267- /* 55 */ { {POLY_32BIT_POSIX , 32 , 0x00000000 , 0x00000000 , false , true }, 0xFE918591 },
204+ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x00000000 , false , false }, 0x75 },
205+ { {POLY_7BIT_SD , 7 , 0x0000007F , 0x00000000 , false , false }, 0x50 },
206+ { {POLY_7BIT_SD , 7 , 0x0000002B , 0x00000000 , false , false }, 0x3A },
207+ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x0000007F , false , false }, 0x0A },
208+ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x0000002B , false , false }, 0x5E },
209+ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x00000000 , true , false }, 0x52 },
210+ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x00000000 , false , true }, 0x57 },
211+ { {POLY_7BIT_SD , 7 , 0x0000002B , 0x00000000 , true , false }, 0x1D },
212+ { {POLY_7BIT_SD , 7 , 0x0000002B , 0x00000000 , false , true }, 0x4E },
213+ { {POLY_7BIT_SD , 7 , 0x0000002B , 0x00000000 , true , true }, 0x5C },
214+ { {POLY_7BIT_SD , 7 , 0x00000000 , 0x0000002B , false , true }, 0x7C },
215+
216+ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x00000000 , false , false }, 0xF4 },
217+ { {POLY_8BIT_CCITT , 8 , 0x000000FF , 0x00000000 , false , false }, 0xFB },
218+ { {POLY_8BIT_CCITT , 8 , 0x000000AB , 0x00000000 , false , false }, 0x87 },
219+ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x000000FF , false , false }, 0x0B },
220+ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x000000AB , false , false }, 0x5F },
221+ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x00000000 , true , false }, 0x04 },
222+ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x00000000 , false , true }, 0x2F },
223+ { {POLY_8BIT_CCITT , 8 , 0x000000AB , 0x00000000 , true , false }, 0x77 },
224+ { {POLY_8BIT_CCITT , 8 , 0x000000AB , 0x00000000 , false , true }, 0xE1 },
225+ { {POLY_8BIT_CCITT , 8 , 0x000000AB , 0x00000000 , true , true }, 0xEE },
226+ { {POLY_8BIT_CCITT , 8 , 0x00000000 , 0x000000AB , false , true }, 0x84 },
227+
228+ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x00000000 , false , false }, 0x31C3 },
229+ { {POLY_16BIT_CCITT , 16 , 0x0000FFFF , 0x00000000 , false , false }, 0x29B1 },
230+ { {POLY_16BIT_CCITT , 16 , 0x0000ABAB , 0x00000000 , false , false }, 0x7D70 },
231+ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x0000FFFF , false , false }, 0xCE3C },
232+ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x0000ABAB , false , false }, 0x9A68 },
233+ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x00000000 , true , false }, 0x9184 },
234+ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x00000000 , false , true }, 0xC38C },
235+ { {POLY_16BIT_CCITT , 16 , 0x0000ABAB , 0x00000000 , true , false }, 0xDD37 },
236+ { {POLY_16BIT_CCITT , 16 , 0x0000ABAB , 0x00000000 , false , true }, 0x0EBE },
237+ { {POLY_16BIT_CCITT , 16 , 0x0000ABAB , 0x00000000 , true , true }, 0xECBB },
238+ { {POLY_16BIT_CCITT , 16 , 0x00000000 , 0x0000ABAB , false , true }, 0x6827 },
239+
240+ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x00000000 , false , false }, 0xFEE8 },
241+ { {POLY_16BIT_IBM , 16 , 0x0000FFFF , 0x00000000 , false , false }, 0xAEE7 },
242+ { {POLY_16BIT_IBM , 16 , 0x0000ABAB , 0x00000000 , false , false }, 0x0887 },
243+ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x0000FFFF , false , false }, 0x0117 },
244+ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x0000ABAB , false , false }, 0x5543 },
245+ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x00000000 , true , false }, 0xBCDD },
246+ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x00000000 , false , true }, 0x177F },
247+ { {POLY_16BIT_IBM , 16 , 0x0000ABAB , 0x00000000 , true , false }, 0x4AB2 },
248+ { {POLY_16BIT_IBM , 16 , 0x0000ABAB , 0x00000000 , false , true }, 0xE110 },
249+ { {POLY_16BIT_IBM , 16 , 0x0000ABAB , 0x00000000 , true , true }, 0x4D52 },
250+ { {POLY_16BIT_IBM , 16 , 0x00000000 , 0x0000ABAB , false , true }, 0xBCD4 },
251+
252+ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0x00000000 , false , false }, 0x89A1897F },
253+ { {POLY_32BIT_ANSI , 32 , 0xFFFFFFFF , 0x00000000 , false , false }, 0x0376E6E7 },
254+ { {POLY_32BIT_ANSI , 32 , 0xABABABAB , 0x00000000 , false , false }, 0x871A2FAA },
255+ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0xFFFFFFFF , false , false }, 0x765E7680 },
256+ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0xABABABAB , false , false }, 0x220A22D4 },
257+ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0x00000000 , true , false }, 0x11B4BFB4 },
258+ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0x00000000 , false , true }, 0xFE918591 },
259+ { {POLY_32BIT_ANSI , 32 , 0xABABABAB , 0x00000000 , true , false }, 0x1F0F1961 },
260+ { {POLY_32BIT_ANSI , 32 , 0xABABABAB , 0x00000000 , false , true }, 0x55F458E1 },
261+ { {POLY_32BIT_ANSI , 32 , 0xABABABAB , 0x00000000 , true , true }, 0x8698F0F8 },
262+ { {POLY_32BIT_ANSI , 32 , 0x00000000 , 0xABABABAB , false , true }, 0x553A2E3A },
263+
264+ /* Not-predefined polynomials. */
265+ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x00000000 , false , false }, 0xA2 },
266+ { {POLY_8BIT_MAXIM , 8 , 0x000000FF , 0x00000000 , false , false }, 0xF7 },
267+ { {POLY_8BIT_MAXIM , 8 , 0x000000AB , 0x00000000 , false , false }, 0x71 },
268+ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x000000FF , false , false }, 0x5D },
269+ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x000000AB , false , false }, 0x09 },
270+ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x00000000 , true , false }, 0x85 },
271+ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x00000000 , false , true }, 0x45 },
272+ { {POLY_8BIT_MAXIM , 8 , 0x000000AB , 0x00000000 , true , false }, 0x56 },
273+ { {POLY_8BIT_MAXIM , 8 , 0x000000AB , 0x00000000 , false , true }, 0x8E },
274+ { {POLY_8BIT_MAXIM , 8 , 0x000000AB , 0x00000000 , true , true }, 0x6A },
275+ { {POLY_8BIT_MAXIM , 8 , 0x00000000 , 0x000000AB , false , true }, 0xEE },
268276 };
269277 // *INDENT-ON*
270278
0 commit comments