From b86e88413d4c6ec428aaedb147f7675f28882fe4 Mon Sep 17 00:00:00 2001 From: drowe67 Date: Fri, 14 Jul 2023 12:36:50 +0930 Subject: clang-format -i applied to src unittest misc --- src/gp_interleaver.c | 131 +++++++++++++++++++++++++-------------------------- 1 file changed, 65 insertions(+), 66 deletions(-) (limited to 'src/gp_interleaver.c') diff --git a/src/gp_interleaver.c b/src/gp_interleaver.c index 26e74bf..61678f8 100644 --- a/src/gp_interleaver.c +++ b/src/gp_interleaver.c @@ -28,9 +28,10 @@ along with this program; if not, see . */ +#include "gp_interleaver.h" + #include #include -#include "gp_interleaver.h" /* Choose b for Golden Prime Interleaver. b is chosen to be the @@ -43,105 +44,103 @@ */ static const int b_table[] = { - 56, 37, /* 700E: HRA_56_56 */ - 106, 67, /* 2020B: (112,56) partial protection */ - 112, 71, /* 700D: HRA_112_112 */ - 128, 83, /* datac0: H_128_256_5 */ - 192, 127, /* datac13: H_256_512_4, 128 data bits used */ - 210, 131, /* 2020: HRAb_396_504 with 312 data bits used */ - 736, 457, /* datac4: H_1024_2048_4f, 448 data bits used */ - 1024, 641, /* datac3: H_1024_2048_4f */ - 1290, 797, /* datac2: H2064_516_sparse */ - 4096, 2531 /* datac1: H_4096_8192_3d */ + 56, 37, /* 700E: HRA_56_56 */ + 106, 67, /* 2020B: (112,56) partial protection */ + 112, 71, /* 700D: HRA_112_112 */ + 128, 83, /* datac0: H_128_256_5 */ + 192, 127, /* datac13: H_256_512_4, 128 data bits used */ + 210, 131, /* 2020: HRAb_396_504 with 312 data bits used */ + 736, 457, /* datac4: H_1024_2048_4f, 448 data bits used */ + 1024, 641, /* datac3: H_1024_2048_4f */ + 1290, 797, /* datac2: H2064_516_sparse */ + 4096, 2531 /* datac1: H_4096_8192_3d */ }; -int choose_interleaver_b(int Nbits) -{ - int i; - for(i=0; i> 1; - interleaved_frame[i*2+1] = temp[i] & 1; - } +void gp_interleave_bits(char interleaved_frame[], char frame[], int Nbits) { + char temp[Nbits]; + int b = choose_interleaver_b(Nbits); + int i, j; + + for (i = 0; i < Nbits; i++) { + j = (b * i) % Nbits; + temp[j] = ((frame[i * 2] & 1) << 1) | (frame[i * 2 + 1] & 1); + } + + for (i = 0; i < Nbits; i++) { + interleaved_frame[i * 2] = temp[i] >> 1; + interleaved_frame[i * 2 + 1] = temp[i] & 1; + } } -void gp_deinterleave_bits(char frame[], char interleaved_frame[], int Nbits) -{ - char temp[Nbits]; - int b = choose_interleaver_b(Nbits); - int i,j; +void gp_deinterleave_bits(char frame[], char interleaved_frame[], int Nbits) { + char temp[Nbits]; + int b = choose_interleaver_b(Nbits); + int i, j; - for (i=0; i> 1; - frame[i*2 + 1] = temp[i] & 1; - } + for (i = 0; i < Nbits; i++) { + j = (b * i) % Nbits; + temp[i] = ((interleaved_frame[j * 2] & 1) << 1) | + (interleaved_frame[j * 2 + 1] & 1); + } + + for (i = 0; i < Nbits; i++) { + frame[i * 2] = temp[i] >> 1; + frame[i * 2 + 1] = temp[i] & 1; + } } -- cgit v1.2.3