|
27 | 27 | using namespace utest::v1;
|
28 | 28 |
|
29 | 29 | #define POLY_8BIT_MAXIM 0x31
|
30 |
| -#define POLY_16BIT_MAXIM 0x8005 |
31 |
| -#define POLY_32BIT_POSIX 0x4C11DB7 |
32 | 30 |
|
33 | 31 | #define UNSUPPORTED (-1)
|
34 | 32 | #define POL_CNT (2)
|
@@ -201,70 +199,78 @@ int main()
|
201 | 199 | // *INDENT-OFF*
|
202 | 200 | TEST_CASE local_test_cases[] = {
|
203 | 201 | /* 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 }, |
| 202 | + { {POLY_7BIT_SD , 7, 0x00000000, 0x00000000, false, false}, 0x75 }, |
| 203 | + { {POLY_7BIT_SD , 7, 0x0000007F, 0x00000000, false, false}, 0x50 }, |
| 204 | + { {POLY_7BIT_SD , 7, 0x0000002B, 0x00000000, false, false}, 0x3A }, |
| 205 | + { {POLY_7BIT_SD , 7, 0x00000000, 0x0000007F, false, false}, 0x0A }, |
| 206 | + { {POLY_7BIT_SD , 7, 0x00000000, 0x0000002B, false, false}, 0x5E }, |
| 207 | + { {POLY_7BIT_SD , 7, 0x00000000, 0x00000000, true , false}, 0x52 }, |
| 208 | + { {POLY_7BIT_SD , 7, 0x00000000, 0x00000000, false, true }, 0x57 }, |
| 209 | + { {POLY_7BIT_SD , 7, 0x0000002B, 0x00000000, true , false}, 0x1D }, |
| 210 | + { {POLY_7BIT_SD , 7, 0x0000002B, 0x00000000, false, true }, 0x2E }, |
| 211 | + { {POLY_7BIT_SD , 7, 0x0000002B, 0x00000000, true , true }, 0x5C }, |
| 212 | + { {POLY_7BIT_SD , 7, 0x00000000, 0x0000002B, false, true }, 0x7C }, |
| 213 | + |
| 214 | + { {POLY_8BIT_CCITT , 8, 0x00000000, 0x00000000, false, false}, 0xF4 }, |
| 215 | + { {POLY_8BIT_CCITT , 8, 0x000000FF, 0x00000000, false, false}, 0xFB }, |
| 216 | + { {POLY_8BIT_CCITT , 8, 0x000000AB, 0x00000000, false, false}, 0x87 }, |
| 217 | + { {POLY_8BIT_CCITT , 8, 0x00000000, 0x000000FF, false, false}, 0x0B }, |
| 218 | + { {POLY_8BIT_CCITT , 8, 0x00000000, 0x000000AB, false, false}, 0x5F }, |
| 219 | + { {POLY_8BIT_CCITT , 8, 0x00000000, 0x00000000, true , false}, 0x04 }, |
| 220 | + { {POLY_8BIT_CCITT , 8, 0x00000000, 0x00000000, false, true }, 0x2F }, |
| 221 | + { {POLY_8BIT_CCITT , 8, 0x000000AB, 0x00000000, true, false}, 0x77 }, |
| 222 | + { {POLY_8BIT_CCITT , 8, 0x000000AB, 0x00000000, false, true }, 0xE1 }, |
| 223 | + { {POLY_8BIT_CCITT , 8, 0x000000AB, 0x00000000, true, true }, 0xEE }, |
| 224 | + { {POLY_8BIT_CCITT , 8, 0x00000000, 0x000000AB, false, true }, 0x84 }, |
| 225 | + |
| 226 | + { {POLY_16BIT_CCITT , 16, 0x00000000, 0x00000000, false, false}, 0x31C3 }, |
| 227 | + { {POLY_16BIT_CCITT , 16, 0x0000FFFF, 0x00000000, false, false}, 0x29B1 }, |
| 228 | + { {POLY_16BIT_CCITT , 16, 0x0000ABAB, 0x00000000, false, false}, 0x7D70 }, |
| 229 | + { {POLY_16BIT_CCITT , 16, 0x00000000, 0x0000FFFF, false, false}, 0xCE3C }, |
| 230 | + { {POLY_16BIT_CCITT , 16, 0x00000000, 0x0000ABAB, false, false}, 0x9A68 }, |
| 231 | + { {POLY_16BIT_CCITT , 16, 0x00000000, 0x00000000, true , false}, 0x9184 }, |
| 232 | + { {POLY_16BIT_CCITT , 16, 0x00000000, 0x00000000, false, true }, 0xC38C }, |
| 233 | + { {POLY_16BIT_CCITT , 16, 0x0000ABAB, 0x00000000, true, false}, 0xDD37 }, |
| 234 | + { {POLY_16BIT_CCITT , 16, 0x0000ABAB, 0x00000000, false, true }, 0x0EBE }, |
| 235 | + { {POLY_16BIT_CCITT , 16, 0x0000ABAB, 0x00000000, true, true }, 0xECBB }, |
| 236 | + { {POLY_16BIT_CCITT , 16, 0x00000000, 0x0000ABAB, false, true }, 0x6827 }, |
| 237 | + |
| 238 | + { {POLY_16BIT_IBM , 16, 0x00000000, 0x00000000, false, false}, 0xFEE8 }, |
| 239 | + { {POLY_16BIT_IBM , 16, 0x0000FFFF, 0x00000000, false, false}, 0xAEE7 }, |
| 240 | + { {POLY_16BIT_IBM , 16, 0x0000ABAB, 0x00000000, false, false}, 0x0887 }, |
| 241 | + { {POLY_16BIT_IBM , 16, 0x00000000, 0x0000FFFF, false, false}, 0x0117 }, |
| 242 | + { {POLY_16BIT_IBM , 16, 0x00000000, 0x0000ABAB, false, false}, 0x5543 }, |
| 243 | + { {POLY_16BIT_IBM , 16, 0x00000000, 0x00000000, true , false}, 0xBCDD }, |
| 244 | + { {POLY_16BIT_IBM , 16, 0x00000000, 0x00000000, false, true }, 0x177F }, |
| 245 | + { {POLY_16BIT_IBM , 16, 0x0000ABAB, 0x00000000, true, false}, 0x4AB2 }, |
| 246 | + { {POLY_16BIT_IBM , 16, 0x0000ABAB, 0x00000000, false, true }, 0xE110 }, |
| 247 | + { {POLY_16BIT_IBM , 16, 0x0000ABAB, 0x00000000, true, true }, 0x4D52 }, |
| 248 | + { {POLY_16BIT_IBM , 16, 0x00000000, 0x0000ABAB, false, true }, 0xBCD4 }, |
| 249 | + |
| 250 | + { {POLY_32BIT_ANSI , 32, 0x00000000, 0x00000000, false, false}, 0x89A1897F }, |
| 251 | + { {POLY_32BIT_ANSI , 32, 0xFFFFFFFF, 0x00000000, false, false}, 0x0376E6E7 }, |
| 252 | + { {POLY_32BIT_ANSI , 32, 0xABABABAB, 0x00000000, false, false}, 0x871A2FAA }, |
| 253 | + { {POLY_32BIT_ANSI , 32, 0x00000000, 0xFFFFFFFF, false, false}, 0x765E7680 }, |
| 254 | + { {POLY_32BIT_ANSI , 32, 0x00000000, 0xABABABAB, false, false}, 0x220A22D4 }, |
| 255 | + { {POLY_32BIT_ANSI , 32, 0x00000000, 0x00000000, true , false}, 0x11B4BFB4 }, |
| 256 | + { {POLY_32BIT_ANSI , 32, 0x00000000, 0x00000000, false, true }, 0xFE918591 }, |
| 257 | + { {POLY_32BIT_ANSI , 32, 0xABABABAB, 0x00000000, true, false}, 0x1F0F1961 }, |
| 258 | + { {POLY_32BIT_ANSI , 32, 0xABABABAB, 0x00000000, false, true }, 0x55F458E1 }, |
| 259 | + { {POLY_32BIT_ANSI , 32, 0xABABABAB, 0x00000000, true, true }, 0x8698F0F8 }, |
| 260 | + { {POLY_32BIT_ANSI , 32, 0x00000000, 0xABABABAB, false, true }, 0x553A2E3A }, |
| 261 | + |
| 262 | + /* Not-predefined polynomials. */ |
| 263 | + { {POLY_8BIT_MAXIM , 8, 0x00000000, 0x00000000, false, false}, 0xA2 }, |
| 264 | + { {POLY_8BIT_MAXIM , 8, 0x000000FF, 0x00000000, false, false}, 0xF7 }, |
| 265 | + { {POLY_8BIT_MAXIM , 8, 0x000000AB, 0x00000000, false, false}, 0x71 }, |
| 266 | + { {POLY_8BIT_MAXIM , 8, 0x00000000, 0x000000FF, false, false}, 0x5D }, |
| 267 | + { {POLY_8BIT_MAXIM , 8, 0x00000000, 0x000000AB, false, false}, 0x09 }, |
| 268 | + { {POLY_8BIT_MAXIM , 8, 0x00000000, 0x00000000, true , false}, 0x85 }, |
| 269 | + { {POLY_8BIT_MAXIM , 8, 0x00000000, 0x00000000, false, true }, 0x45 }, |
| 270 | + { {POLY_8BIT_MAXIM , 8, 0x000000AB, 0x00000000, true, false}, 0x56 }, |
| 271 | + { {POLY_8BIT_MAXIM , 8, 0x000000AB, 0x00000000, false, true }, 0x8E }, |
| 272 | + { {POLY_8BIT_MAXIM , 8, 0x000000AB, 0x00000000, true, true }, 0x6A }, |
| 273 | + { {POLY_8BIT_MAXIM , 8, 0x00000000, 0x000000AB, false, true }, 0xEE }, |
268 | 274 | };
|
269 | 275 | // *INDENT-ON*
|
270 | 276 |
|
|
0 commit comments