/* * Auto-generated test vectors for LDPC decoder firmware * Generated by model/gen_firmware_vectors.py * * LLR packing: 5 LLRs per 32-bit word, 6 bits each (two's complement) * Word bits [5:0] = LLR[5*i+0] * Word bits [11:6] = LLR[5*i+1] * Word bits [17:12] = LLR[5*i+2] * Word bits [23:18] = LLR[5*i+3] * Word bits [29:24] = LLR[5*i+4] */ #ifndef TEST_VECTORS_H #define TEST_VECTORS_H #include #define NUM_TEST_VECTORS 20 #define LLR_WORDS_PER_VECTOR 52 /* Vector 0: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv0_llr[52] = { 0x1F7DF81F, 0x20C9F7E0, 0x207CC7DF, 0x1F82081F, 0x328207E0, 0x20820820, 0x208207CC, 0x1F81F7DF, 0x1F7F27DF, 0x1F7CC81F, 0x0C81F81F, 0x207E07F2, 0x1F820820, 0x207DF7CC, 0x1F81F7E0, 0x2082081F, 0x0C31F81F, 0x2081F7DF, 0x1FCA081F, 0x20820820, 0x1F7DF7DF, 0x207E07E0, 0x208207CC, 0x1F8207DF, 0x0C7DF7DF, 0x2030C820, 0x207DF7E0, 0x1F82081F, 0x203207DF, 0x20832820, 0x2081F820, 0x20820832, 0x1F82081F, 0x207E081F, 0x207DF820, 0x1F7E0320, 0x1F7E07E0, 0x1F81F820, 0x20CA07CC, 0x0C81F7E0, 0x1F820820, 0x1FCA07DF, 0x1F7E080C, 0x208207F2, 0x207E081F, 0x20820820, 0x207E07DF, 0x2082081F, 0x1F7E07DF, 0x1F7DF7E0, 0x207DF820, 0x00000020 }; static const uint32_t tv0_decoded = 0x3FD74222; static const int tv0_converged = 1; static const int tv0_iterations = 1; static const int tv0_syndrome_weight = 0; /* Vector 1: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv1_llr[52] = { 0x1F8207F2, 0x207DF820, 0x2081F7DF, 0x1F81F81F, 0x2081F81F, 0x1F7E07DF, 0x1F7E031F, 0x207DF7DF, 0x1F8207E0, 0x1F7DF81F, 0x1F81F820, 0x1F81F7E0, 0x1F7DF820, 0x1F82081F, 0x207E07DF, 0x207E0820, 0x207E07DF, 0x2080C7DF, 0x2081F81F, 0x207DF30C, 0x2081F31F, 0x207E081F, 0x1F7DF30C, 0x208207DF, 0x1F81F7E0, 0x207E07DF, 0x1F7E07DF, 0x0C82081F, 0x1F81F7E0, 0x1F7DFC9F, 0x2082081F, 0x1F7E07DF, 0x207DF7DF, 0x208207DF, 0x207E0320, 0x327DF81F, 0x2082030C, 0x1F820820, 0x0CC9F7E0, 0x1F8207DF, 0x1F7E07DF, 0x2081F820, 0x1F7E0820, 0x1F81F320, 0x207E081F, 0x2081F81F, 0x1F81F7E0, 0x1F7DF820, 0x2081F81F, 0x1F81F7E0, 0x20820820, 0x00000020 }; static const uint32_t tv1_decoded = 0x09A5626C; static const int tv1_converged = 1; static const int tv1_iterations = 1; static const int tv1_syndrome_weight = 0; /* Vector 2: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv2_llr[52] = { 0x2082030C, 0x1F820820, 0x1F81F7E0, 0x2080C7DF, 0x20832820, 0x207E0820, 0x327E031F, 0x207DF7CC, 0x20820C8C, 0x1F7F27F2, 0x1F7DF7E0, 0x20832820, 0x1F820820, 0x3281F81F, 0x1F30C7E0, 0x1F8207E0, 0x207E07E0, 0x1F7DF820, 0x0C7DF7DF, 0x20CA07DF, 0x207DF81F, 0x2082081F, 0x1F81F820, 0x20820CA0, 0x2081F81F, 0x1F7E0820, 0x1F81F81F, 0x20820820, 0x1F7DF81F, 0x20CA081F, 0x1F7E07DF, 0x1F7DF81F, 0x1F7E080C, 0x1F82080C, 0x0C81F820, 0x1F81F7DF, 0x1F7CC7E0, 0x328207E0, 0x1F81F820, 0x2081F7DF, 0x1F7E0CA0, 0x1F81F820, 0x2081F81F, 0x20820820, 0x2081F31F, 0x1F81F820, 0x1F7E081F, 0x0C7E081F, 0x1F7E07E0, 0x1F82081F, 0x2081F7DF, 0x00000020 }; static const uint32_t tv2_decoded = 0x2FFC25FC; static const int tv2_converged = 1; static const int tv2_iterations = 1; static const int tv2_syndrome_weight = 0; /* Vector 3: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv3_llr[52] = { 0x1F81F820, 0x1F81F7DF, 0x208207E0, 0x327E0820, 0x2081F81F, 0x1F82081F, 0x1F8207E0, 0x1FCA07E0, 0x1F7DF7E0, 0x207E07E0, 0x20820820, 0x0C81F81F, 0x2081F820, 0x1F81F7E0, 0x1F7E07E0, 0x1F8207DF, 0x1F7E031F, 0x1F82081F, 0x207E07E0, 0x1F820820, 0x1F7DF7E0, 0x207DF820, 0x1F81F7CC, 0x1F7E07E0, 0x208207E0, 0x207DF81F, 0x2081F81F, 0x20820820, 0x1F820820, 0x1F81F7DF, 0x203207E0, 0x1F8207DF, 0x0C7DF7DF, 0x1F7E07E0, 0x2081F7E0, 0x1F7E07E0, 0x1F81F81F, 0x2081F7E0, 0x1F7DF820, 0x2081F820, 0x1F7F281F, 0x2081F7E0, 0x207DF7E0, 0x207E07E0, 0x1F31F820, 0x1F7E07E0, 0x1F7DF7E0, 0x207DF820, 0x1F7DF31F, 0x1F31F7E0, 0x208207DF, 0x00000020 }; static const uint32_t tv3_decoded = 0x5DABF50B; static const int tv3_converged = 1; static const int tv3_iterations = 1; static const int tv3_syndrome_weight = 0; /* Vector 4: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv4_llr[52] = { 0x207DF820, 0x207DF7E0, 0x2081F81F, 0x207DF7E0, 0x208207E0, 0x1F7DFC9F, 0x1F7DF7DF, 0x1F82031F, 0x1F7E081F, 0x1F81F81F, 0x1F7E0820, 0x207E081F, 0x2081F820, 0x1F81F7DF, 0x1F820820, 0x1F7DF81F, 0x1F7CC820, 0x1F81F31F, 0x207E07DF, 0x207E081F, 0x1F8207CC, 0x1F7CC31F, 0x1F82081F, 0x207F2820, 0x207E0820, 0x2082081F, 0x207E07E0, 0x207E0820, 0x1F8207E0, 0x1F7E07E0, 0x2082081F, 0x207DF81F, 0x1F31F7E0, 0x2081F820, 0x1F81F7DF, 0x2081F820, 0x2081F820, 0x2081F81F, 0x207DF7E0, 0x20820820, 0x1F81F7E0, 0x207E07E0, 0x2081F81F, 0x208207DF, 0x0C81F820, 0x1F7E081F, 0x2082081F, 0x207E0820, 0x207E0820, 0x1F81F81F, 0x2080C7E0, 0x0000001F }; static const uint32_t tv4_decoded = 0x05D8EA33; static const int tv4_converged = 1; static const int tv4_iterations = 1; static const int tv4_syndrome_weight = 0; /* Vector 5: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv5_llr[52] = { 0x327DF820, 0x1F7DF820, 0x1F3207E0, 0x2082081F, 0x2081FC9F, 0x1F8207DF, 0x1F8207DF, 0x0C8207DF, 0x1F82081F, 0x207E07DF, 0x2081F7DF, 0x1F81F820, 0x0C31F820, 0x207E0820, 0x207DF7DF, 0x1F82031F, 0x20820820, 0x1F7E0C8C, 0x20C9F81F, 0x20820820, 0x1F7DF7E0, 0x2081F7E0, 0x1F7CC7DF, 0x208207E0, 0x207E0820, 0x2032081F, 0x208207DF, 0x207DF81F, 0x1F7E07E0, 0x1F81F820, 0x2081F820, 0x3281F30C, 0x1F7DF81F, 0x207DFC8C, 0x2083281F, 0x1F8207E0, 0x1F7E07E0, 0x0C7DF820, 0x207E07DF, 0x2031F320, 0x1F7DF820, 0x1F32081F, 0x207DF81F, 0x207DF7DF, 0x1F7E07DF, 0x1F81F31F, 0x1F7DF81F, 0x1F81F80C, 0x208207E0, 0x1F81F7CC, 0x0C81FC9F, 0x00000020 }; static const uint32_t tv5_decoded = 0x19AF1473; static const int tv5_converged = 1; static const int tv5_iterations = 1; static const int tv5_syndrome_weight = 0; /* Vector 6: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv6_llr[52] = { 0x2031FCA0, 0x1F83281F, 0x1F81F7E0, 0x207DF81F, 0x1F8207E0, 0x2081F81F, 0x2081F7DF, 0x1F82031F, 0x2081F81F, 0x1F7E07E0, 0x1F81F7E0, 0x207E081F, 0x0C81F7E0, 0x207E07DF, 0x207DF7E0, 0x1F7DF7E0, 0x1F7DF81F, 0x1F81F7CC, 0x2081FC9F, 0x1F81F31F, 0x1F7E0820, 0x1F820820, 0x1F82081F, 0x1F7E0820, 0x1F31F81F, 0x1F81F81F, 0x1F8207F2, 0x1F820820, 0x2081F820, 0x207E07DF, 0x1F7E0820, 0x1F81F7DF, 0x1F7E07DF, 0x207E07E0, 0x1F31F7E0, 0x20820820, 0x1F7DF820, 0x1F80C7DF, 0x0C81F81F, 0x2082081F, 0x207E081F, 0x1F7CC820, 0x2032081F, 0x2031F81F, 0x1F7E0820, 0x2081F820, 0x1F7E07E0, 0x207DF7DF, 0x1F81F81F, 0x2081F7E0, 0x1F7E081F, 0x0000001F }; static const uint32_t tv6_decoded = 0x34D925D3; static const int tv6_converged = 1; static const int tv6_iterations = 1; static const int tv6_syndrome_weight = 0; /* Vector 7: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv7_llr[52] = { 0x207CC7DF, 0x2031F81F, 0x2081F7E0, 0x0C7DF820, 0x208207DF, 0x1F7DF81F, 0x0C7DF7E0, 0x1F7DF7E0, 0x1F81F81F, 0x1F7E081F, 0x1F820820, 0x207DF7DF, 0x2081F820, 0x3282081F, 0x1F7E07E0, 0x1F7E07DF, 0x1F820820, 0x1F81F31F, 0x207E0832, 0x0C7E07E0, 0x1F81F81F, 0x0CCA081F, 0x1FC8C7DF, 0x207DF81F, 0x1F81F7DF, 0x207CC7DF, 0x1F7E081F, 0x1F81F7DF, 0x1F82081F, 0x1F82081F, 0x2081F820, 0x1F8207DF, 0x2081F7E0, 0x2030C81F, 0x20820820, 0x1F81F7DF, 0x1F81F31F, 0x2080C7E0, 0x1F32081F, 0x1F7DF81F, 0x207DF7DF, 0x20C9F31F, 0x1F7DF7E0, 0x208207E0, 0x327E07DF, 0x1F81F81F, 0x1F7DF820, 0x2081F7DF, 0x1F8207DF, 0x1F81F7E0, 0x1F8207E0, 0x00000020 }; static const uint32_t tv7_decoded = 0x45C1E650; static const int tv7_converged = 1; static const int tv7_iterations = 1; static const int tv7_syndrome_weight = 0; /* Vector 8: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv8_llr[52] = { 0x1F81F7E0, 0x1F81F81F, 0x20820820, 0x203207DF, 0x1F8207DF, 0x207CC81F, 0x207DF81F, 0x1F7E081F, 0x1F81F7E0, 0x208207E0, 0x207DF820, 0x207DF81F, 0x2081F7E0, 0x207F27DF, 0x2031F7E0, 0x1F8207E0, 0x208207E0, 0x207DF7CC, 0x1F82081F, 0x2081F81F, 0x1F81F820, 0x207E07DF, 0x1F7DF820, 0x2081F81F, 0x1F8207DF, 0x207E0820, 0x207DF820, 0x1F81F820, 0x20820820, 0x0C81F81F, 0x1F7E07DF, 0x2081F80C, 0x1F820832, 0x1F7DF820, 0x1F8207CC, 0x207E07DF, 0x1F82080C, 0x1F8207DF, 0x207E080C, 0x1FCA07DF, 0x2081F7DF, 0x1F81F820, 0x1F7DF31F, 0x1F7DF820, 0x1F7E07DF, 0x2081F81F, 0x207E0820, 0x0C7DF81F, 0x207DF7DF, 0x2082081F, 0x1F81F7E0, 0x0000001F }; static const uint32_t tv8_decoded = 0xA4CA7D49; static const int tv8_converged = 1; static const int tv8_iterations = 1; static const int tv8_syndrome_weight = 0; /* Vector 9: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv9_llr[52] = { 0x1F30C7DF, 0x208207DF, 0x2081F81F, 0x207DF820, 0x1F7E07DF, 0x1FCA07DF, 0x1F820820, 0x1F31F820, 0x207DF7DF, 0x1F81F820, 0x1F820820, 0x207DF80C, 0x1F7DF7DF, 0x20820820, 0x208327DF, 0x203207DF, 0x32CA07DF, 0x1F81F7E0, 0x1F7E07DF, 0x207E07CC, 0x207E081F, 0x1F81F81F, 0x1F81F7DF, 0x328327DF, 0x0C81F7E0, 0x1F7F27DF, 0x1F81F7DF, 0x208207E0, 0x207E07DF, 0x1F7DF7E0, 0x1F7DF81F, 0x1F320832, 0x207E081F, 0x2081F7DF, 0x207E080C, 0x207E081F, 0x20C9F320, 0x207E07E0, 0x207E081F, 0x1F7E07DF, 0x207E081F, 0x1F7E07E0, 0x1F81F7E0, 0x1F8207E0, 0x0C8207E0, 0x20820820, 0x1F7DF81F, 0x1F81F7E0, 0x1F7E0320, 0x1F81F320, 0x2081F820, 0x0000001F }; static const uint32_t tv9_decoded = 0xD849EB80; static const int tv9_converged = 1; static const int tv9_iterations = 1; static const int tv9_syndrome_weight = 0; /* Vector 10: converged=True, iterations=1, syndrome_weight=0, bit_errors=0 */ static const uint32_t tv10_llr[52] = { 0x0C30C30C, 0x0C30C80C, 0x0C30CEBA, 0x0C32733A, 0x279E030C, 0x0C820320, 0x0C32780C, 0x0C30C30C, 0x0CE8CEBA, 0x3A9CC80C, 0x3A32030C, 0x2030C9FA, 0x203209CC, 0x0C80C30C, 0x3A30C320, 0x0C30CE8C, 0x209CC320, 0x209CC327, 0x0C30C320, 0x3A9CCE8C, 0x2080C30C, 0x27820EA7, 0x2083A30C, 0x0C9FA33A, 0x0CEA0EA0, 0x20327EBA, 0x2030C320, 0x2732730C, 0x3A820EA0, 0x0C9FA320, 0x0C9FA30C, 0x0C80C320, 0x0CEBA9FA, 0x2780CEBA, 0x0C3209E0, 0x3AE8CE8C, 0x2030C320, 0x2030CE8C, 0x0C30CE8C, 0x2730C327, 0x0C30C30C, 0x0C327327, 0x209E730C, 0x27E8C80C, 0x0CE8C30C, 0x209E030C, 0x3A30C320, 0x0C32730C, 0x0C30CE8C, 0x2030C320, 0x0C32780C, 0x0000000C }; static const uint32_t tv10_decoded = 0x9BCA9A40; static const int tv10_converged = 1; static const int tv10_iterations = 1; static const int tv10_syndrome_weight = 0; /* Vector 11: converged=False, iterations=30, syndrome_weight=67, bit_errors=20 */ static const uint32_t tv11_llr[52] = { 0x0C30C80C, 0x0C30C30C, 0x2730C820, 0x0C80C30C, 0x0C32730C, 0x0C30C9E7, 0x0CE8C33A, 0x0C9CC320, 0x2032030C, 0x0C32030C, 0x0C30C9E0, 0x209CC320, 0x0C9E730C, 0x0C33A9CC, 0x3A80C30C, 0x0C30C80C, 0x279CC320, 0x0CEA080C, 0x0C30C9CC, 0x279E0320, 0x2730C30C, 0x0CE8C30C, 0x0C80C9CC, 0x0C9CC30C, 0x3AE8CEA0, 0x20E8C320, 0x0C33A80C, 0x0CEBA33A, 0x0C30C9CC, 0x27EA0E8C, 0x0C30CEBA, 0x0CE8C30C, 0x0CEA7EA7, 0x0C30C30C, 0x0C83A327, 0x0CEBA30C, 0x0C83AEA0, 0x2033A80C, 0x0C80C30C, 0x0C30C30C, 0x0C82730C, 0x3A30C33A, 0x3A820E8C, 0x0C30C320, 0x0C30C9E7, 0x279CC320, 0x2080C30C, 0x27320327, 0x3A32083A, 0x0C33A80C, 0x0C9CC30C, 0x0000000C }; static const uint32_t tv11_decoded = 0x79FFC352; static const int tv11_converged = 0; static const int tv11_iterations = 30; static const int tv11_syndrome_weight = 67; /* Vector 12: converged=False, iterations=30, syndrome_weight=59, bit_errors=13 */ static const uint32_t tv12_llr[52] = { 0x3A82030C, 0x0CE8C827, 0x2083A327, 0x2780C827, 0x2730C320, 0x0C3279FA, 0x2730C30C, 0x2030C83A, 0x279E09E7, 0x3A320320, 0x0CEA7EBA, 0x20320327, 0x0CE8C9CC, 0x0C30C80C, 0x0CE8C33A, 0x0C9CC9E0, 0x0C30C80C, 0x2033A320, 0x0C32780C, 0x0C30C30C, 0x0C33AEBA, 0x0C80C327, 0x0CEA79CC, 0x0C30C320, 0x0C30CEA7, 0x2033A820, 0x0C30C327, 0x2080CE8C, 0x0C32080C, 0x3A82030C, 0x0C30C30C, 0x0C327320, 0x0C80C30C, 0x20EA730C, 0x27E8C80C, 0x3AEA7E8C, 0x2733AE8C, 0x0CE8C80C, 0x2730C33A, 0x3AE8C30C, 0x279CCE8C, 0x0C33AE8C, 0x0C3209E0, 0x0C30C30C, 0x0C30C80C, 0x2780C327, 0x0C320EA0, 0x0C33AEA0, 0x0C9E79E0, 0x2030CEA0, 0x2033AE8C, 0x00000020 }; static const uint32_t tv12_decoded = 0x5D2534DC; static const int tv12_converged = 0; static const int tv12_iterations = 30; static const int tv12_syndrome_weight = 59; /* Vector 13: converged=False, iterations=30, syndrome_weight=61, bit_errors=19 */ static const uint32_t tv13_llr[52] = { 0x0CE8C80C, 0x2032730C, 0x0CE8CE8C, 0x3A30C9FA, 0x209CC820, 0x0C80CE8C, 0x3A9CC30C, 0x0CE8C30C, 0x2730CEA7, 0x0C30C80C, 0x2783A30C, 0x0C320EBA, 0x2030C33A, 0x0CEA080C, 0x20EA730C, 0x0C30C9E0, 0x0C30C30C, 0x0C827320, 0x0C33A33A, 0x0CEA730C, 0x3A9E09FA, 0x0CE8C327, 0x0C9CC33A, 0x0C80CEA7, 0x0CEA7EA0, 0x0C8209FA, 0x3A3209CC, 0x20327327, 0x0C30CE8C, 0x2030C320, 0x3A30C327, 0x0CEA030C, 0x3A9E0E8C, 0x0CEA0E8C, 0x3AE8C80C, 0x0C9E730C, 0x0C30C30C, 0x2032030C, 0x0C320820, 0x0C33A30C, 0x27E8CEBA, 0x20EA730C, 0x0C30C30C, 0x3A30C820, 0x3A32730C, 0x0C80CEA0, 0x0C82780C, 0x20EA0320, 0x0C32033A, 0x2030C30C, 0x27320EA0, 0x0000003A }; static const uint32_t tv13_decoded = 0xF21718ED; static const int tv13_converged = 0; static const int tv13_iterations = 30; static const int tv13_syndrome_weight = 61; /* Vector 14: converged=False, iterations=30, syndrome_weight=65, bit_errors=17 */ static const uint32_t tv14_llr[52] = { 0x0CEA0327, 0x0C80CEBA, 0x209CC327, 0x0C30C33A, 0x0C30C30C, 0x0C9CC83A, 0x0C9CC80C, 0x3A32730C, 0x0C9CC30C, 0x0C32033A, 0x0C3209FA, 0x0C82730C, 0x0CEA0E8C, 0x2732730C, 0x0C30C30C, 0x3AE8CEBA, 0x3A30C33A, 0x0C80C9E7, 0x20E8CE8C, 0x2783A327, 0x2083A320, 0x2732030C, 0x2730C30C, 0x0C80C30C, 0x3A327327, 0x0C80C327, 0x0C30CEA7, 0x0C30CE8C, 0x0C80C80C, 0x3A820327, 0x3A30C30C, 0x0CE8C320, 0x3AE8C80C, 0x209FA80C, 0x0C30C320, 0x0C30C33A, 0x2080C80C, 0x0C30C33A, 0x3A9E09E0, 0x0C9CC320, 0x3A30C320, 0x0C83A9FA, 0x0C30C30C, 0x0C30C827, 0x0C327E8C, 0x2730C80C, 0x0C80C30C, 0x3A30C30C, 0x0CE8C33A, 0x0C9E0E8C, 0x0C30C327, 0x0000000C }; static const uint32_t tv14_decoded = 0x7FE0197C; static const int tv14_converged = 0; static const int tv14_iterations = 30; static const int tv14_syndrome_weight = 65; /* Vector 15: converged=False, iterations=30, syndrome_weight=75, bit_errors=16 */ static const uint32_t tv15_llr[52] = { 0x2780C30C, 0x27827E8C, 0x0C30CE8C, 0x0C32783A, 0x3A80C320, 0x0C30C30C, 0x0C30C30C, 0x0C33A33A, 0x2730C9FA, 0x0CE8C827, 0x0C32030C, 0x0C32033A, 0x2080CEBA, 0x0C9CC30C, 0x2030C9E0, 0x0C30C9FA, 0x2732030C, 0x0C9CC9CC, 0x3A80C320, 0x0C33AE8C, 0x3A80CEBA, 0x2733AEA7, 0x3A80C83A, 0x0CE8C33A, 0x0C327820, 0x27E8CEA7, 0x0CEA7EA0, 0x0C30C30C, 0x0CE8C30C, 0x0C33A9CC, 0x0C30C9FA, 0x0C80C80C, 0x3A30C327, 0x3AE8C80C, 0x0C32033A, 0x3A3209E0, 0x2730C30C, 0x20320E8C, 0x3A33A9CC, 0x2033A33A, 0x3A9CCEBA, 0x0CEA030C, 0x279CCE8C, 0x0C9CC30C, 0x0C820320, 0x0C32033A, 0x0C3209CC, 0x2082033A, 0x3A30C320, 0x20320EA7, 0x27E8C33A, 0x0000000C }; static const uint32_t tv15_decoded = 0x9E869CC2; static const int tv15_converged = 0; static const int tv15_iterations = 30; static const int tv15_syndrome_weight = 75; /* Vector 16: converged=False, iterations=30, syndrome_weight=56, bit_errors=14 */ static const uint32_t tv16_llr[52] = { 0x3A30C327, 0x3AE8C320, 0x3A33A30C, 0x0C80C9E0, 0x0CE8CE8C, 0x2032030C, 0x3A33A320, 0x3A33A33A, 0x0C3279CC, 0x2730C827, 0x0CEBA83A, 0x0C9CC33A, 0x0C80C320, 0x27327EA7, 0x0C320327, 0x0C9CC83A, 0x3A80CE8C, 0x0C30C33A, 0x0C3209E0, 0x0C30CEBA, 0x0C82783A, 0x0C30C320, 0x0C30CEBA, 0x0C33A30C, 0x0CE8C30C, 0x2030C320, 0x27EBA9E0, 0x0C30C327, 0x3AE8C320, 0x3A30CE8C, 0x2030C827, 0x0C9CC9E0, 0x273209FA, 0x3A30CEA0, 0x3A82730C, 0x0CEBA30C, 0x0C320E8C, 0x0C80C9FA, 0x3A32080C, 0x2032730C, 0x0C33A30C, 0x0C33A327, 0x0C80CEA0, 0x0C327320, 0x0C80C320, 0x20E8C320, 0x0C30C9CC, 0x0C30C820, 0x3A820327, 0x3A82780C, 0x0C32033A, 0x0000003A }; static const uint32_t tv16_decoded = 0x4E7507D9; static const int tv16_converged = 0; static const int tv16_iterations = 30; static const int tv16_syndrome_weight = 56; /* Vector 17: converged=False, iterations=30, syndrome_weight=51, bit_errors=19 */ static const uint32_t tv17_llr[52] = { 0x3A30C30C, 0x0C80C30C, 0x2033A30C, 0x3AEBA33A, 0x27E8C33A, 0x0CE8C30C, 0x0C80C33A, 0x0C33A80C, 0x0C33A30C, 0x2030C320, 0x0C30C30C, 0x0C30C327, 0x0C33A820, 0x3AEBA30C, 0x2730C80C, 0x0C82080C, 0x0CE8C30C, 0x0CE8CE8C, 0x3A80C327, 0x0C33A30C, 0x0C30CE8C, 0x2732030C, 0x3A30C33A, 0x0CE8C33A, 0x209CC80C, 0x0C30CE8C, 0x0CE8C30C, 0x0C33A9E7, 0x3A83AEA7, 0x2780C30C, 0x2030C33A, 0x0CEBA83A, 0x2080C30C, 0x209CC30C, 0x0C30C30C, 0x0C33A327, 0x0C32030C, 0x3A80C33A, 0x0C83A9CC, 0x0C9FA30C, 0x3A33A30C, 0x0C9CC80C, 0x2782730C, 0x2032730C, 0x0C33AEBA, 0x2033AEA0, 0x2732730C, 0x0C9E7320, 0x0C80C9FA, 0x0C32030C, 0x0C83A9E0, 0x00000020 }; static const uint32_t tv17_decoded = 0xBB5F2BF1; static const int tv17_converged = 0; static const int tv17_iterations = 30; static const int tv17_syndrome_weight = 51; /* Vector 18: converged=False, iterations=30, syndrome_weight=76, bit_errors=18 */ static const uint32_t tv18_llr[52] = { 0x3A9E083A, 0x2080C30C, 0x27E8C320, 0x3A327EA7, 0x203209E7, 0x0CE8C33A, 0x0C80C33A, 0x278209E7, 0x0CE8C9FA, 0x0C327EA0, 0x209E0827, 0x209FA80C, 0x0C9E083A, 0x0C30C327, 0x0C32730C, 0x0CEA083A, 0x20EA7327, 0x2730C30C, 0x0C9E09E7, 0x2033AEBA, 0x0C30CEBA, 0x0C30C30C, 0x0C9E7EBA, 0x3AE8C9CC, 0x3A30C30C, 0x0C33A9E0, 0x0C9FA30C, 0x3A33A30C, 0x2080C30C, 0x0C9FA30C, 0x3A32730C, 0x27827E8C, 0x2782730C, 0x2080CE8C, 0x0C80C320, 0x2030CE8C, 0x0C82030C, 0x0CEBA30C, 0x20EA79FA, 0x3A32030C, 0x2730C30C, 0x0C3209CC, 0x209E0820, 0x0C9CC33A, 0x3A9CC320, 0x0C9E780C, 0x0C30C80C, 0x0C30C9E0, 0x0C30CE8C, 0x209CC30C, 0x0C80C30C, 0x00000027 }; static const uint32_t tv18_decoded = 0xAA500741; static const int tv18_converged = 0; static const int tv18_iterations = 30; static const int tv18_syndrome_weight = 76; /* Vector 19: converged=False, iterations=30, syndrome_weight=42, bit_errors=16 */ static const uint32_t tv19_llr[52] = { 0x3A80C33A, 0x0CEA7327, 0x0C32780C, 0x0C30C30C, 0x279CC9CC, 0x3A33A30C, 0x3A32030C, 0x0C30C30C, 0x273209E0, 0x2032030C, 0x0CE8C30C, 0x0C30C30C, 0x3A33A327, 0x0C30C9E0, 0x0C80CEA0, 0x0C30C30C, 0x0C30C320, 0x0C83A33A, 0x0CEA030C, 0x3A80CE8C, 0x0C327EA0, 0x0C80C9E0, 0x3A320827, 0x0C320EA0, 0x0C30C30C, 0x0CE8CE8C, 0x0C30C320, 0x0C327827, 0x203279E0, 0x0C30C30C, 0x0C33A9E7, 0x3A32030C, 0x2030C83A, 0x0C9E09CC, 0x0C3209CC, 0x27E8C9CC, 0x27EBA83A, 0x3AE8C327, 0x27E8C327, 0x0C30C30C, 0x0C80CE8C, 0x0CEA0EBA, 0x0C32730C, 0x2730C9E0, 0x279CC33A, 0x0C30CEBA, 0x2730C320, 0x0C30C30C, 0x0C3209FA, 0x3A33A327, 0x209CCE8C, 0x0000000C }; static const uint32_t tv19_decoded = 0xF98E6EFE; static const int tv19_converged = 0; static const int tv19_iterations = 30; static const int tv19_syndrome_weight = 42; /* Array of LLR pointers for iteration */ static const uint32_t * const tv_llr[NUM_TEST_VECTORS] = { tv0_llr, tv1_llr, tv2_llr, tv3_llr, tv4_llr, tv5_llr, tv6_llr, tv7_llr, tv8_llr, tv9_llr, tv10_llr, tv11_llr, tv12_llr, tv13_llr, tv14_llr, tv15_llr, tv16_llr, tv17_llr, tv18_llr, tv19_llr }; static const uint32_t tv_decoded[NUM_TEST_VECTORS] = { 0x3FD74222, /* tv0 */ 0x09A5626C, /* tv1 */ 0x2FFC25FC, /* tv2 */ 0x5DABF50B, /* tv3 */ 0x05D8EA33, /* tv4 */ 0x19AF1473, /* tv5 */ 0x34D925D3, /* tv6 */ 0x45C1E650, /* tv7 */ 0xA4CA7D49, /* tv8 */ 0xD849EB80, /* tv9 */ 0x9BCA9A40, /* tv10 */ 0x79FFC352, /* tv11 */ 0x5D2534DC, /* tv12 */ 0xF21718ED, /* tv13 */ 0x7FE0197C, /* tv14 */ 0x9E869CC2, /* tv15 */ 0x4E7507D9, /* tv16 */ 0xBB5F2BF1, /* tv17 */ 0xAA500741, /* tv18 */ 0xF98E6EFE /* tv19 */ }; static const int tv_converged[NUM_TEST_VECTORS] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static const int tv_iterations[NUM_TEST_VECTORS] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 30, 30, 30, 30, 30, 30, 30, 30, 30 }; static const int tv_syndrome_weight[NUM_TEST_VECTORS] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 59, 61, 65, 75, 56, 51, 76, 42 }; #endif /* TEST_VECTORS_H */