Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangjie
OpenXG-RAN
Commits
a65f59c8
Commit
a65f59c8
authored
Sep 25, 2019
by
sebastian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adapted all for BG2, still somethings not working... to debug
parent
6b5d2eee
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
947 additions
and
1113 deletions
+947
-1113
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
+19
-11
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init.h
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init.h
+216
-1027
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut/nrLDPC_lut.h
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut/nrLDPC_lut.h
+388
-0
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h
+324
-75
No files found.
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
View file @
a65f59c8
...
...
@@ -41,9 +41,9 @@
#define NR_LDPC_ENABLE_PARITY_CHECK
//#define NR_LDPC_PROFILER_DETAIL
#ifdef NR_LDPC_DEBUG_MODE
//
#ifdef NR_LDPC_DEBUG_MODE
#include "nrLDPC_tools/nrLDPC_debug.h"
#endif
//
#endif
static
inline
uint32_t
nrLDPC_decoder_core
(
int8_t
*
p_llr
,
int8_t
*
p_out
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint32_t
numLLR
,
t_nrLDPC_lut
*
p_lut
,
t_nrLDPC_dec_params
*
p_decParams
,
t_nrLDPC_time_stats
*
p_profiler
);
...
...
@@ -116,7 +116,14 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
#ifdef NR_LDPC_PROFILER_DETAIL
start_meas
(
&
p_profiler
->
llr2CnProcBuf
);
#endif
nrLDPC_llr2CnProcBuf
(
p_lut
,
p_llr
,
p_procBuf
,
Z
);
if
(
BG
==
1
)
{
nrLDPC_llr2CnProcBuf_BG1
(
p_lut
,
p_llr
,
p_procBuf
,
Z
);
}
else
{
nrLDPC_llr2CnProcBuf_BG2
(
p_lut
,
p_llr
,
p_procBuf
,
Z
);
}
#ifdef NR_LDPC_PROFILER_DETAIL
stop_meas
(
&
p_profiler
->
llr2CnProcBuf
);
#endif
...
...
@@ -158,7 +165,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
}
else
{
nrLDPC_cn2bnProcBuf
(
p_lut
,
p_procBuf
,
Z
);
nrLDPC_cn2bnProcBuf
_BG2
(
p_lut
,
p_procBuf
,
Z
);
}
#ifdef NR_LDPC_PROFILER_DETAIL
stop_meas
(
&
p_profiler
->
cn2bnProcBuf
);
...
...
@@ -206,15 +213,16 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
}
else
{
nrLDPC_bn2cnProcBuf
(
p_lut
,
p_procBuf
,
Z
);
nrLDPC_bn2cnProcBuf
_BG2
(
p_lut
,
p_procBuf
,
Z
);
}
#ifdef NR_LDPC_PROFILER_DETAIL
stop_meas
(
&
p_profiler
->
bn2cnProcBuf
);
#endif
#ifdef NR_LDPC_DEBUG_MODE
//#ifdef NR_LDPC_DEBUG_MODE
nrLDPC_debug_initBuffer2File
(
nrLDPC_buffers_CN_PROC
);
nrLDPC_debug_writeBuffer2File
(
nrLDPC_buffers_CN_PROC
,
p_procBuf
);
#endif
//
#endif
// Parity Check not necessary here since it will fail
// because first 2 cols/BNs in BG are punctured and cannot be
...
...
@@ -257,7 +265,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
}
else
{
nrLDPC_cn2bnProcBuf
(
p_lut
,
p_procBuf
,
Z
);
nrLDPC_cn2bnProcBuf
_BG2
(
p_lut
,
p_procBuf
,
Z
);
}
#ifdef NR_LDPC_PROFILER_DETAIL
stop_meas
(
&
p_profiler
->
cn2bnProcBuf
);
...
...
@@ -302,7 +310,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
}
else
{
nrLDPC_bn2cnProcBuf
(
p_lut
,
p_procBuf
,
Z
);
nrLDPC_bn2cnProcBuf
_BG2
(
p_lut
,
p_procBuf
,
Z
);
}
#ifdef NR_LDPC_PROFILER_DETAIL
stop_meas
(
&
p_profiler
->
bn2cnProcBuf
);
...
...
@@ -368,7 +376,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
}
else
{
nrLDPC_cn2bnProcBuf
(
p_lut
,
p_procBuf
,
Z
);
nrLDPC_cn2bnProcBuf
_BG2
(
p_lut
,
p_procBuf
,
Z
);
}
#ifdef NR_LDPC_PROFILER_DETAIL
stop_meas
(
&
p_profiler
->
cn2bnProcBuf
);
...
...
@@ -416,7 +424,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
}
else
{
nrLDPC_bn2cnProcBuf
(
p_lut
,
p_procBuf
,
Z
);
nrLDPC_bn2cnProcBuf
_BG2
(
p_lut
,
p_procBuf
,
Z
);
}
#ifdef NR_LDPC_PROFILER_DETAIL
stop_meas
(
&
p_profiler
->
bn2cnProcBuf
);
...
...
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init.h
View file @
a65f59c8
...
...
@@ -52,9 +52,44 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
// LUT that only depend on BG
p_lut
->
startAddrCnGroups
=
lut_startAddrCnGroups_BG2
;
p_lut
->
posBnInCnProcBuf
[
0
]
=
(
const
uint8_t
**
)
posBnInCnProcBuf_BG2_CNG3
;
p_lut
->
posBnInCnProcBuf
[
1
]
=
(
const
uint8_t
**
)
posBnInCnProcBuf_BG2_CNG4
;
p_lut
->
posBnInCnProcBuf
[
2
]
=
(
const
uint8_t
**
)
posBnInCnProcBuf_BG2_CNG5
;
p_lut
->
posBnInCnProcBuf
[
3
]
=
(
const
uint8_t
**
)
posBnInCnProcBuf_BG2_CNG6
;
p_lut
->
posBnInCnProcBuf
[
4
]
=
(
const
uint8_t
**
)
posBnInCnProcBuf_BG2_CNG8
;
p_lut
->
posBnInCnProcBuf
[
5
]
=
(
const
uint8_t
**
)
posBnInCnProcBuf_BG2_CNG10
;
p_lut
->
posBnInCnProcBuf
[
6
]
=
NULL
;
p_lut
->
posBnInCnProcBuf
[
7
]
=
NULL
;
p_lut
->
posBnInCnProcBuf
[
8
]
=
NULL
;
// LUT that only depend on R
if
(
R
==
15
)
{
p_lut
->
startAddrBnProcBuf
[
0
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R15_CNG3
;
p_lut
->
startAddrBnProcBuf
[
1
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R15_CNG4
;
p_lut
->
startAddrBnProcBuf
[
2
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R15_CNG5
;
p_lut
->
startAddrBnProcBuf
[
3
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R15_CNG6
;
p_lut
->
startAddrBnProcBuf
[
4
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R15_CNG8
;
p_lut
->
startAddrBnProcBuf
[
5
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R15_CNG10
;
p_lut
->
startAddrBnProcBuf
[
6
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
7
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
8
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
0
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R15_CNG3
;
p_lut
->
bnPosBnProcBuf
[
1
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R15_CNG4
;
p_lut
->
bnPosBnProcBuf
[
2
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R15_CNG5
;
p_lut
->
bnPosBnProcBuf
[
3
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R15_CNG6
;
p_lut
->
bnPosBnProcBuf
[
4
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R15_CNG8
;
p_lut
->
bnPosBnProcBuf
[
5
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R15_CNG10
;
p_lut
->
bnPosBnProcBuf
[
6
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
7
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
8
]
=
NULL
;
p_lut
->
llr2llrProcBufAddr
=
llr2llrProcBufAddr_BG2_R15
;
p_lut
->
llr2llrProcBufNumBn
=
llr2llrProcBufNumBn_BG2_R15
;
p_lut
->
llr2llrProcBufNumEl
=
&
llr2llrProcBufNumEl_BG2_R15
;
p_lut
->
numCnInCnGroups
=
lut_numCnInCnGroups_BG2_R15
;
p_lut
->
numBnInBnGroups
=
lut_numBnInBnGroups_BG2_R15
;
p_lut
->
startAddrBnGroups
=
lut_startAddrBnGroups_BG2_R15
;
...
...
@@ -64,6 +99,30 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
}
else
if
(
R
==
13
)
{
p_lut
->
startAddrBnProcBuf
[
0
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
1
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R13_CNG4
;
p_lut
->
startAddrBnProcBuf
[
2
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R13_CNG5
;
p_lut
->
startAddrBnProcBuf
[
3
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R13_CNG6
;
p_lut
->
startAddrBnProcBuf
[
4
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R13_CNG8
;
p_lut
->
startAddrBnProcBuf
[
5
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R13_CNG10
;
p_lut
->
startAddrBnProcBuf
[
6
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
7
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
8
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
0
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
1
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R13_CNG4
;
p_lut
->
bnPosBnProcBuf
[
2
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R13_CNG5
;
p_lut
->
bnPosBnProcBuf
[
3
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R13_CNG6
;
p_lut
->
bnPosBnProcBuf
[
4
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R13_CNG8
;
p_lut
->
bnPosBnProcBuf
[
5
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R13_CNG10
;
p_lut
->
bnPosBnProcBuf
[
6
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
7
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
8
]
=
NULL
;
p_lut
->
llr2llrProcBufAddr
=
llr2llrProcBufAddr_BG2_R13
;
p_lut
->
llr2llrProcBufNumBn
=
llr2llrProcBufNumBn_BG2_R13
;
p_lut
->
llr2llrProcBufNumEl
=
&
llr2llrProcBufNumEl_BG2_R13
;
p_lut
->
numCnInCnGroups
=
lut_numCnInCnGroups_BG2_R13
;
p_lut
->
numBnInBnGroups
=
lut_numBnInBnGroups_BG2_R13
;
p_lut
->
startAddrBnGroups
=
lut_startAddrBnGroups_BG2_R13
;
...
...
@@ -71,8 +130,32 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
numEdgesPerBn
=
lut_numEdgesPerBn_BG2_R13
;
numLLR
=
NR_LDPC_NCOL_BG2_R13
*
Z
;
}
else
if
(
R
==
23
)
{
else
if
(
R
==
23
)
{
p_lut
->
startAddrBnProcBuf
[
0
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
1
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R23_CNG4
;
p_lut
->
startAddrBnProcBuf
[
2
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
3
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R23_CNG6
;
p_lut
->
startAddrBnProcBuf
[
4
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R23_CNG8
;
p_lut
->
startAddrBnProcBuf
[
5
]
=
(
const
uint32_t
**
)
startAddrBnProcBuf_BG2_R23_CNG10
;
p_lut
->
startAddrBnProcBuf
[
6
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
7
]
=
NULL
;
p_lut
->
startAddrBnProcBuf
[
8
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
0
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
1
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R23_CNG4
;
p_lut
->
bnPosBnProcBuf
[
2
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
3
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R23_CNG6
;
p_lut
->
bnPosBnProcBuf
[
4
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R23_CNG8
;
p_lut
->
bnPosBnProcBuf
[
5
]
=
(
const
uint8_t
**
)
bnPosBnProcBuf_BG2_R23_CNG10
;
p_lut
->
bnPosBnProcBuf
[
6
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
7
]
=
NULL
;
p_lut
->
bnPosBnProcBuf
[
8
]
=
NULL
;
p_lut
->
llr2llrProcBufAddr
=
llr2llrProcBufAddr_BG2_R23
;
p_lut
->
llr2llrProcBufNumBn
=
llr2llrProcBufNumBn_BG2_R23
;
p_lut
->
llr2llrProcBufNumEl
=
&
llr2llrProcBufNumEl_BG2_R23
;
p_lut
->
numCnInCnGroups
=
lut_numCnInCnGroups_BG2_R23
;
p_lut
->
numBnInBnGroups
=
lut_numBnInBnGroups_BG2_R23
;
p_lut
->
startAddrBnGroups
=
lut_startAddrBnGroups_BG2_R23
;
...
...
@@ -1134,6 +1217,16 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
}
else
if
(
Z
==
384
)
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG2_Z384_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG2_Z384_CNG4
;
p_lut
->
circShift
[
2
]
=
(
const
uint16_t
**
)
circShift_BG2_Z384_CNG5
;
p_lut
->
circShift
[
3
]
=
(
const
uint16_t
**
)
circShift_BG2_Z384_CNG6
;
p_lut
->
circShift
[
4
]
=
(
const
uint16_t
**
)
circShift_BG2_Z384_CNG8
;
p_lut
->
circShift
[
5
]
=
(
const
uint16_t
**
)
circShift_BG2_Z384_CNG10
;
p_lut
->
circShift
[
6
]
=
NULL
;
p_lut
->
circShift
[
7
]
=
NULL
;
p_lut
->
circShift
[
8
]
=
NULL
;
if
(
R
==
13
)
{
p_lut
->
llr2CnProcBuf
=
lut_llr2CnProcBuf_BG2_Z384_R13
;
...
...
@@ -1200,7 +1293,7 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
numBnInBnGroups
=
lut_numBnInBnGroups_BG1_R13
;
p_lut
->
startAddrBnGroups
=
lut_startAddrBnGroups_BG1_R13
;
p_lut
->
startAddrBnGroupsLlr
=
lut_startAddrBnGroupsLlr_BG1_R13
;
p_lut
->
numEdgesPerBn
=
lut_numEdgesPerBn_BG1_R13
;
numLLR
=
NR_LDPC_NCOL_BG1_R13
*
Z
;
}
else
if
(
R
==
23
)
...
...
@@ -1233,7 +1326,7 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
numBnInBnGroups
=
lut_numBnInBnGroups_BG1_R23
;
p_lut
->
startAddrBnGroups
=
lut_startAddrBnGroups_BG1_R23
;
p_lut
->
startAddrBnGroupsLlr
=
lut_startAddrBnGroupsLlr_BG1_R23
;
p_lut
->
numEdgesPerBn
=
lut_numEdgesPerBn_BG1_R23
;
numLLR
=
NR_LDPC_NCOL_BG1_R23
*
Z
;
}
else
if
(
R
==
89
)
...
...
@@ -1266,12 +1359,14 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
numBnInBnGroups
=
lut_numBnInBnGroups_BG1_R89
;
p_lut
->
startAddrBnGroups
=
lut_startAddrBnGroups_BG1_R89
;
p_lut
->
startAddrBnGroupsLlr
=
lut_startAddrBnGroupsLlr_BG1_R89
;
p_lut
->
numEdgesPerBn
=
lut_numEdgesPerBn_BG1_R89
;
numLLR
=
NR_LDPC_NCOL_BG1_R89
*
Z
;
}
// LUT that depend on Z and R
if
(
Z
==
2
)
switch
(
Z
)
{
case
2
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z2_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z2_CNG4
;
...
...
@@ -1282,27 +1377,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z2_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z2_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z2_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z2_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z2_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z2_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z2_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z2_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z2_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z2_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z2_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z2_R89;
}
break
;
}
else
if
(
Z
==
3
)
case
3
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z3_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z3_CNG4
;
...
...
@@ -1313,27 +1390,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z3_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z3_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z3_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z3_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z3_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z3_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z3_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z3_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z3_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z3_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z3_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z3_R89;
}
break
;
}
else
if
(
Z
==
4
)
case
4
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z4_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z4_CNG4
;
...
...
@@ -1344,27 +1403,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z4_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z4_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z4_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z4_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z4_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z4_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z4_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z4_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z4_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z4_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z4_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z4_R89;
}
break
;
}
else
if
(
Z
==
5
)
case
5
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z5_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z5_CNG4
;
...
...
@@ -1375,27 +1416,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z5_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z5_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z5_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z5_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z5_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z5_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z5_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z5_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z5_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z5_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z5_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z5_R89;
}
break
;
}
else
if
(
Z
==
6
)
case
6
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z6_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z6_CNG4
;
...
...
@@ -1406,27 +1429,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z6_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z6_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z6_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z6_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z6_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z6_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z6_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z6_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z6_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z6_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z6_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z6_R89;
}
break
;
}
else
if
(
Z
==
7
)
case
7
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z7_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z7_CNG4
;
...
...
@@ -1437,27 +1442,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z7_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z7_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z7_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z7_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z7_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z7_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z7_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z7_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z7_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z7_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z7_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z7_R89;
}
break
;
}
else
if
(
Z
==
8
)
case
8
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z8_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z8_CNG4
;
...
...
@@ -1468,27 +1455,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z8_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z8_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z8_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z8_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z8_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z8_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z8_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z8_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z8_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z8_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z8_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z8_R89;
}
break
;
}
else
if
(
Z
==
9
)
case
9
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z9_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z9_CNG4
;
...
...
@@ -1499,27 +1468,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z9_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z9_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z9_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z9_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z9_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z9_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z9_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z9_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z9_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z9_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z9_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z9_R89;
}
break
;
}
else
if
(
Z
==
10
)
case
10
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z10_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z10_CNG4
;
...
...
@@ -1530,27 +1481,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z10_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z10_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z10_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z10_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z10_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z10_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z10_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z10_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z10_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z10_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z10_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z10_R89;
}
break
;
}
else
if
(
Z
==
11
)
case
11
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z11_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z11_CNG4
;
...
...
@@ -1561,27 +1494,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z11_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z11_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z11_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z11_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z11_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z11_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z11_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z11_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z11_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z11_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z11_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z11_R89;
}
break
;
}
else
if
(
Z
==
12
)
case
12
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z12_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z12_CNG4
;
...
...
@@ -1592,27 +1507,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z12_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z12_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z12_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z12_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z12_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z12_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z12_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z12_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z12_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z12_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z12_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z12_R89;
}
break
;
}
else
if
(
Z
==
13
)
case
13
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z13_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z13_CNG4
;
...
...
@@ -1623,27 +1520,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z13_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z13_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z13_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z13_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z13_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z13_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z13_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z13_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z13_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z13_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z13_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z13_R89;
}
break
;
}
else
if
(
Z
==
14
)
case
14
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z14_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z14_CNG4
;
...
...
@@ -1654,27 +1533,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z14_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z14_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z14_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z14_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z14_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z14_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z14_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z14_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z14_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z14_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z14_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z14_R89;
}
break
;
}
else
if
(
Z
==
15
)
case
15
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z15_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z15_CNG4
;
...
...
@@ -1685,27 +1546,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z15_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z15_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z15_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z15_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z15_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z15_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z15_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z15_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z15_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z15_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z15_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z15_R89;
}
break
;
}
else
if
(
Z
==
16
)
case
16
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z16_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z16_CNG4
;
...
...
@@ -1716,27 +1559,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z16_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z16_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z16_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z16_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z16_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z16_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z16_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z16_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z16_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z16_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z16_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z16_R89;
}
break
;
}
else
if
(
Z
==
18
)
case
18
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z18_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z18_CNG4
;
...
...
@@ -1747,27 +1572,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z18_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z18_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z18_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z18_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z18_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z18_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z18_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z18_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z18_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z18_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z18_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z18_R89;
}
break
;
}
else
if
(
Z
==
20
)
case
20
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z20_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z20_CNG4
;
...
...
@@ -1778,27 +1585,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z20_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z20_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z20_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z20_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z20_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z20_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z20_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z20_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z20_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z20_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z20_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z20_R89;
}
break
;
}
else
if
(
Z
==
22
)
case
22
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z22_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z22_CNG4
;
...
...
@@ -1809,27 +1598,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z22_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z22_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z22_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z22_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z22_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z22_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z22_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z22_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z22_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z22_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z22_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z22_R89;
}
break
;
}
else
if
(
Z
==
24
)
case
24
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z24_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z24_CNG4
;
...
...
@@ -1840,27 +1611,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z24_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z24_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z24_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z24_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z24_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z24_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z24_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z24_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z24_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z24_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z24_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z24_R89;
}
break
;
}
else
if
(
Z
==
26
)
case
26
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z26_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z26_CNG4
;
...
...
@@ -1871,27 +1624,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z26_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z26_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z26_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z26_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z26_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z26_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z26_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z26_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z26_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z26_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z26_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z26_R89;
}
break
;
}
else
if
(
Z
==
28
)
case
28
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z28_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z28_CNG4
;
...
...
@@ -1902,27 +1637,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z28_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z28_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z28_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z28_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z28_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z28_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z28_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z28_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z28_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z28_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z28_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z28_R89;
}
break
;
}
else
if
(
Z
==
30
)
case
30
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z30_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z30_CNG4
;
...
...
@@ -1933,27 +1650,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z30_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z30_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z30_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z30_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z30_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z30_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z30_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z30_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z30_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z30_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z30_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z30_R89;
}
break
;
}
else
if
(
Z
==
32
)
case
32
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z32_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z32_CNG4
;
...
...
@@ -1964,27 +1663,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z32_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z32_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z32_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z32_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z32_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z32_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z32_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z32_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z32_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z32_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z32_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z32_R89;
}
break
;
}
else
if
(
Z
==
36
)
case
36
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z36_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z36_CNG4
;
...
...
@@ -1995,27 +1676,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z36_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z36_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z36_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z36_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z36_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z36_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z36_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z36_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z36_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z36_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z36_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z36_R89;
}
break
;
}
else
if
(
Z
==
40
)
case
40
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z40_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z40_CNG4
;
...
...
@@ -2026,27 +1689,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z40_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z40_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z40_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z40_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z40_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z40_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z40_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z40_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z40_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z40_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z40_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z40_R89;
}
break
;
}
else
if
(
Z
==
44
)
case
44
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z44_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z44_CNG4
;
...
...
@@ -2057,27 +1702,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z44_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z44_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z44_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z44_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z44_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z44_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z44_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z44_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z44_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z44_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z44_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z44_R89;
}
break
;
}
else
if
(
Z
==
48
)
case
48
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z48_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z48_CNG4
;
...
...
@@ -2088,27 +1715,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z48_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z48_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z48_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z48_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z48_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z48_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z48_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z48_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z48_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z48_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z48_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z48_R89;
}
break
;
}
else
if
(
Z
==
52
)
case
52
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z52_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z52_CNG4
;
...
...
@@ -2119,27 +1728,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z52_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z52_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z52_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z52_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z52_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z52_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z52_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z52_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z52_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z52_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z52_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z52_R89;
}
break
;
}
else
if
(
Z
==
56
)
case
56
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z56_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z56_CNG4
;
...
...
@@ -2150,27 +1741,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z56_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z56_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z56_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z56_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z56_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z56_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z56_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z56_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z56_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z56_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z56_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z56_R89;
}
break
;
}
else
if
(
Z
==
60
)
case
60
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z60_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z60_CNG4
;
...
...
@@ -2181,27 +1754,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z60_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z60_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z60_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z60_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z60_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z60_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z60_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z60_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z60_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z60_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z60_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z60_R89;
}
break
;
}
else
if
(
Z
==
64
)
case
64
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z64_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z64_CNG4
;
...
...
@@ -2212,27 +1767,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z64_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z64_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z64_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z64_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z64_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z64_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z64_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z64_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z64_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z64_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z64_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z64_R89;
}
break
;
}
else
if
(
Z
==
72
)
case
72
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z72_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z72_CNG4
;
...
...
@@ -2243,27 +1780,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z72_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z72_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z72_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z72_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z72_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z72_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z72_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z72_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z72_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z72_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z72_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z72_R89;
}
break
;
}
else
if
(
Z
==
80
)
case
80
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z80_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z80_CNG4
;
...
...
@@ -2274,27 +1793,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z80_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z80_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z80_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z80_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z80_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z80_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z80_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z80_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z80_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z80_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z80_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z80_R89;
}
break
;
}
else
if
(
Z
==
88
)
case
88
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z88_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z88_CNG4
;
...
...
@@ -2305,27 +1806,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z88_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z88_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z88_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z88_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z88_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z88_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z88_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z88_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z88_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z88_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z88_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z88_R89;
}
break
;
}
else
if
(
Z
==
96
)
case
96
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z96_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z96_CNG4
;
...
...
@@ -2336,27 +1819,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z96_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z96_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z96_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z96_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z96_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z96_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z96_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z96_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z96_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z96_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z96_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z96_R89;
}
break
;
}
else
if
(
Z
==
104
)
case
104
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z104_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z104_CNG4
;
...
...
@@ -2367,27 +1832,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z104_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z104_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z104_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z104_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z104_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z104_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z104_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z104_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z104_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z104_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z104_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z104_R89;
}
break
;
}
else
if
(
Z
==
112
)
case
112
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z112_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z112_CNG4
;
...
...
@@ -2398,27 +1845,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z112_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z112_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z112_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z112_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z112_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z112_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z112_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z112_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z112_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z112_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z112_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z112_R89;
}
break
;
}
else
if
(
Z
==
120
)
case
120
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z120_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z120_CNG4
;
...
...
@@ -2429,27 +1858,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z120_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z120_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z120_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z120_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z120_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z120_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z120_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z120_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z120_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z120_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z120_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z120_R89;
}
break
;
}
else
if
(
Z
==
128
)
case
128
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z128_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z128_CNG4
;
...
...
@@ -2460,27 +1871,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z128_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z128_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z128_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z128_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z128_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z128_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z128_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z128_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z128_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z128_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z128_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z128_R89;
}
break
;
}
else
if
(
Z
==
144
)
case
144
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z144_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z144_CNG4
;
...
...
@@ -2491,27 +1884,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z144_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z144_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z144_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z144_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z144_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z144_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z144_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z144_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z144_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z144_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z144_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z144_R89;
}
break
;
}
else
if
(
Z
==
160
)
case
160
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z160_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z160_CNG4
;
...
...
@@ -2522,27 +1897,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z160_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z160_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z160_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z160_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z160_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z160_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z160_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z160_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z160_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z160_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z160_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z160_R89;
}
break
;
}
else
if
(
Z
==
176
)
case
176
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z176_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z176_CNG4
;
...
...
@@ -2553,27 +1910,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z176_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z176_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z176_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z176_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z176_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z176_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z176_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z176_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z176_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z176_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z176_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z176_R89;
}
break
;
}
else
if
(
Z
==
192
)
case
192
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z192_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z192_CNG4
;
...
...
@@ -2584,27 +1923,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z192_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z192_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z192_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z192_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z192_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z192_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z192_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z192_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z192_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z192_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z192_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z192_R89;
}
break
;
}
else
if
(
Z
==
208
)
case
208
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z208_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z208_CNG4
;
...
...
@@ -2615,27 +1936,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z208_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z208_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z208_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z208_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z208_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z208_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z208_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z208_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z208_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z208_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z208_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z208_R89;
}
break
;
}
else
if
(
Z
==
224
)
case
224
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z224_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z224_CNG4
;
...
...
@@ -2646,27 +1949,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z224_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z224_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z224_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z224_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z224_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z224_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z224_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z224_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z224_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z224_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z224_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z224_R89;
}
break
;
}
else
if
(
Z
==
240
)
case
240
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z240_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z240_CNG4
;
...
...
@@ -2677,27 +1962,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z240_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z240_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z240_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z240_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z240_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z240_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z240_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z240_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z240_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z240_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z240_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z240_R89;
}
break
;
}
else
if
(
Z
==
256
)
case
256
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z256_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z256_CNG4
;
...
...
@@ -2708,27 +1975,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z256_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z256_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z256_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z256_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z256_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z256_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z256_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z256_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z256_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z256_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z256_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z256_R89;
}
break
;
}
else
if
(
Z
==
288
)
case
288
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z288_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z288_CNG4
;
...
...
@@ -2739,27 +1988,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z288_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z288_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z288_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z288_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z288_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z288_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z288_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z288_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z288_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z288_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z288_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z288_R89;
}
break
;
}
else
if
(
Z
==
320
)
case
320
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z320_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z320_CNG4
;
...
...
@@ -2770,27 +2001,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z320_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z320_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z320_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z320_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z320_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z320_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z320_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z320_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z320_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z320_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z320_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z320_R89;
}
break
;
}
else
if
(
Z
==
352
)
case
352
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z352_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z352_CNG4
;
...
...
@@ -2801,27 +2014,9 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z352_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z352_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z352_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z352_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z352_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z352_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z352_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z352_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z352_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z352_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z352_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z352_R89;
}
break
;
}
else
if
(
Z
==
384
)
case
384
:
{
p_lut
->
circShift
[
0
]
=
(
const
uint16_t
**
)
circShift_BG1_Z384_CNG3
;
p_lut
->
circShift
[
1
]
=
(
const
uint16_t
**
)
circShift_BG1_Z384_CNG4
;
...
...
@@ -2831,28 +2026,22 @@ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lu
p_lut
->
circShift
[
5
]
=
(
const
uint16_t
**
)
circShift_BG1_Z384_CNG8
;
p_lut
->
circShift
[
6
]
=
(
const
uint16_t
**
)
circShift_BG1_Z384_CNG9
;
p_lut
->
circShift
[
7
]
=
(
const
uint16_t
**
)
circShift_BG1_Z384_CNG10
;
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z384_CNG19
;
if
(
R
==
13
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z384_R13;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z384_R13;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z384_R13;
}
else
if
(
R
==
23
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z384_R23;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z384_R23;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z384_R23;
}
else
if
(
R
==
89
)
{
//p_lut->llr2CnProcBuf = lut_llr2CnProcBuf_BG1_Z384_R89;
//p_lut->cn2bnProcBuf = lut_cn2bnProcBuf_BG1_Z384_R89;
//p_lut->llr2llrProcBuf = lut_llr2llrProcBuf_BG1_Z384_R89;
}
p_lut
->
circShift
[
8
]
=
(
const
uint16_t
**
)
circShift_BG1_Z384_CNG19
;
break
;
}
default:
{
p_lut
->
circShift
[
0
]
=
NULL
;
p_lut
->
circShift
[
1
]
=
NULL
;
p_lut
->
circShift
[
2
]
=
NULL
;
p_lut
->
circShift
[
3
]
=
NULL
;
p_lut
->
circShift
[
4
]
=
NULL
;
p_lut
->
circShift
[
5
]
=
NULL
;
p_lut
->
circShift
[
6
]
=
NULL
;
p_lut
->
circShift
[
7
]
=
NULL
;
p_lut
->
circShift
[
8
]
=
NULL
;
}
}
}
return
numLLR
;
...
...
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_lut/nrLDPC_lut.h
View file @
a65f59c8
...
...
@@ -513,6 +513,320 @@ static const uint16_t circShift_BG1_Z320_CNG19[19][4] = {{73, 303, 68, 220},{15,
static
const
uint16_t
circShift_BG1_Z256_CNG19
[
19
][
4
]
=
{{
250
,
2
,
106
,
121
},{
69
,
239
,
111
,
89
},{
226
,
117
,
185
,
84
},{
159
,
124
,
63
,
20
},{
100
,
71
,
117
,
150
},{
10
,
222
,
93
,
131
},{
59
,
104
,
229
,
243
},{
229
,
173
,
177
,
136
},{
110
,
220
,
95
,
86
},{
191
,
102
,
39
,
246
},{
9
,
109
,
142
,
219
},{
195
,
132
,
225
,
211
},{
23
,
142
,
225
,
240
},{
190
,
155
,
245
,
76
},{
35
,
255
,
205
,
244
},{
239
,
28
,
251
,
144
},{
31
,
0
,
117
,
12
},{
1
,
0
,
0
,
1
},{
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG1_Z384_CNG19
[
19
][
4
]
=
{{
307
,
76
,
205
,
276
},{
19
,
76
,
250
,
87
},{
50
,
73
,
328
,
0
},{
369
,
288
,
332
,
275
},{
181
,
144
,
256
,
199
},{
216
,
331
,
161
,
153
},{
317
,
331
,
267
,
56
},{
288
,
178
,
160
,
132
},{
109
,
295
,
63
,
305
},{
17
,
342
,
129
,
231
},{
357
,
217
,
200
,
341
},{
215
,
99
,
88
,
212
},{
106
,
354
,
53
,
304
},{
242
,
114
,
131
,
300
},{
180
,
331
,
240
,
271
},{
330
,
112
,
205
,
39
},{
346
,
0
,
13
,
357
},{
1
,
0
,
0
,
1
},{
0
,
0
,
0
,
0
}};
// BG2
// CNG3
static
const
uint16_t
circShift_BG2_Z2_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
1
},{
1
,
0
,
1
,
0
,
1
,
1
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z3_CNG3
[
3
][
6
]
=
{{
2
,
0
,
1
,
2
,
0
,
1
},{
1
,
0
,
2
,
2
,
2
,
1
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z4_CNG3
[
3
][
6
]
=
{{
2
,
0
,
0
,
2
,
2
,
3
},{
3
,
0
,
3
,
0
,
1
,
3
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z5_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
},{
4
,
0
,
2
,
4
,
0
,
4
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z6_CNG3
[
3
][
6
]
=
{{
2
,
3
,
1
,
2
,
3
,
1
},{
4
,
3
,
2
,
5
,
2
,
1
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z7_CNG3
[
3
][
6
]
=
{{
0
,
1
,
6
,
3
,
0
,
5
},{
1
,
3
,
6
,
5
,
0
,
5
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z8_CNG3
[
3
][
6
]
=
{{
6
,
4
,
0
,
2
,
2
,
3
},{
7
,
4
,
7
,
4
,
1
,
7
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z9_CNG3
[
3
][
6
]
=
{{
0
,
2
,
4
,
7
,
8
,
7
},{
6
,
0
,
1
,
7
,
4
,
2
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z10_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
},{
4
,
5
,
2
,
4
,
0
,
4
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z11_CNG3
[
3
][
6
]
=
{{
7
,
6
,
9
,
7
,
7
,
2
},{
9
,
4
,
5
,
7
,
5
,
5
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z12_CNG3
[
3
][
6
]
=
{{
8
,
9
,
7
,
2
,
3
,
1
},{
4
,
9
,
2
,
5
,
2
,
7
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z13_CNG3
[
3
][
6
]
=
{{
7
,
2
,
12
,
11
,
11
,
12
},{
9
,
12
,
11
,
1
,
7
,
11
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z14_CNG3
[
3
][
6
]
=
{{
7
,
1
,
13
,
10
,
7
,
12
},{
1
,
10
,
6
,
5
,
0
,
12
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z15_CNG3
[
3
][
6
]
=
{{
0
,
6
,
4
,
10
,
6
,
4
},{
14
,
5
,
1
,
12
,
1
,
9
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z16_CNG3
[
3
][
6
]
=
{{
14
,
4
,
8
,
2
,
10
,
11
},{
15
,
12
,
7
,
12
,
1
,
7
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z18_CNG3
[
3
][
6
]
=
{{
0
,
2
,
13
,
7
,
8
,
7
},{
6
,
9
,
10
,
7
,
13
,
2
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z20_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
},{
4
,
5
,
12
,
14
,
0
,
4
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z22_CNG3
[
3
][
6
]
=
{{
18
,
6
,
20
,
7
,
7
,
13
},{
9
,
4
,
16
,
7
,
16
,
16
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z24_CNG3
[
3
][
6
]
=
{{
20
,
21
,
7
,
14
,
3
,
13
},{
4
,
21
,
2
,
17
,
2
,
7
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z26_CNG3
[
3
][
6
]
=
{{
20
,
15
,
12
,
24
,
11
,
25
},{
22
,
12
,
11
,
1
,
7
,
11
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z28_CNG3
[
3
][
6
]
=
{{
21
,
15
,
27
,
24
,
7
,
12
},{
1
,
10
,
6
,
5
,
14
,
12
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z30_CNG3
[
3
][
6
]
=
{{
15
,
6
,
4
,
25
,
21
,
4
},{
14
,
5
,
1
,
27
,
16
,
24
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z32_CNG3
[
3
][
6
]
=
{{
30
,
4
,
8
,
18
,
10
,
27
},{
31
,
28
,
23
,
28
,
1
,
23
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z36_CNG3
[
3
][
6
]
=
{{
18
,
20
,
13
,
25
,
8
,
25
},{
24
,
27
,
10
,
25
,
31
,
20
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z40_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
},{
4
,
25
,
32
,
34
,
20
,
24
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z44_CNG3
[
3
][
6
]
=
{{
18
,
28
,
42
,
7
,
29
,
35
},{
31
,
4
,
16
,
29
,
16
,
38
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z48_CNG3
[
3
][
6
]
=
{{
20
,
45
,
7
,
14
,
3
,
37
},{
4
,
21
,
2
,
17
,
26
,
31
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z52_CNG3
[
3
][
6
]
=
{{
46
,
41
,
12
,
50
,
11
,
25
},{
22
,
38
,
37
,
27
,
33
,
37
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z56_CNG3
[
3
][
6
]
=
{{
49
,
43
,
27
,
52
,
35
,
40
},{
1
,
38
,
6
,
5
,
14
,
12
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z60_CNG3
[
3
][
6
]
=
{{
15
,
6
,
4
,
25
,
21
,
34
},{
44
,
35
,
1
,
57
,
46
,
54
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z64_CNG3
[
3
][
6
]
=
{{
30
,
36
,
8
,
18
,
42
,
27
},{
63
,
28
,
23
,
28
,
1
,
23
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z72_CNG3
[
3
][
6
]
=
{{
54
,
56
,
13
,
61
,
8
,
25
},{
60
,
63
,
10
,
25
,
67
,
56
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z80_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
},{
4
,
65
,
32
,
74
,
20
,
64
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z88_CNG3
[
3
][
6
]
=
{{
18
,
72
,
42
,
51
,
29
,
79
},{
75
,
48
,
16
,
73
,
60
,
38
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z96_CNG3
[
3
][
6
]
=
{{
20
,
45
,
7
,
14
,
3
,
37
},{
52
,
21
,
50
,
17
,
74
,
31
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z104_CNG3
[
3
][
6
]
=
{{
98
,
93
,
64
,
50
,
11
,
77
},{
22
,
90
,
89
,
27
,
85
,
89
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z112_CNG3
[
3
][
6
]
=
{{
49
,
99
,
27
,
108
,
35
,
40
},{
1
,
94
,
6
,
61
,
70
,
12
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z120_CNG3
[
3
][
6
]
=
{{
75
,
66
,
64
,
25
,
81
,
34
},{
44
,
95
,
61
,
57
,
46
,
114
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z128_CNG3
[
3
][
6
]
=
{{
94
,
100
,
8
,
18
,
106
,
91
},{
63
,
28
,
23
,
28
,
1
,
23
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z144_CNG3
[
3
][
6
]
=
{{
54
,
128
,
13
,
133
,
80
,
97
},{
132
,
63
,
10
,
25
,
139
,
56
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z160_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
},{
4
,
65
,
32
,
154
,
20
,
144
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z176_CNG3
[
3
][
6
]
=
{{
18
,
72
,
42
,
139
,
117
,
167
},{
163
,
136
,
104
,
161
,
148
,
38
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z192_CNG3
[
3
][
6
]
=
{{
20
,
45
,
103
,
110
,
3
,
37
},{
52
,
21
,
50
,
17
,
170
,
31
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z208_CNG3
[
3
][
6
]
=
{{
202
,
197
,
168
,
50
,
115
,
181
},{
126
,
194
,
193
,
27
,
189
,
193
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z224_CNG3
[
3
][
6
]
=
{{
49
,
211
,
27
,
108
,
147
,
40
},{
1
,
94
,
118
,
61
,
182
,
12
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z240_CNG3
[
3
][
6
]
=
{{
195
,
66
,
64
,
25
,
201
,
154
},{
44
,
95
,
181
,
57
,
46
,
114
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z256_CNG3
[
3
][
6
]
=
{{
222
,
228
,
8
,
18
,
106
,
219
},{
63
,
156
,
151
,
28
,
1
,
151
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z288_CNG3
[
3
][
6
]
=
{{
54
,
128
,
13
,
133
,
80
,
97
},{
132
,
63
,
10
,
25
,
139
,
56
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z320_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
},{
4
,
65
,
32
,
154
,
20
,
144
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z352_CNG3
[
3
][
6
]
=
{{
18
,
72
,
42
,
139
,
117
,
167
},{
163
,
136
,
104
,
161
,
148
,
38
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z384_CNG3
[
3
][
6
]
=
{{
20
,
45
,
103
,
110
,
3
,
37
},{
52
,
21
,
50
,
17
,
170
,
31
},{
0
,
0
,
0
,
0
,
0
,
0
}};
// CNG4
static
const
uint16_t
circShift_BG2_Z2_CNG4
[
4
][
20
]
=
{{
1
,
0
,
1
,
1
,
0
,
1
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
0
,
1
,
1
,
0
,
1
},{
0
,
0
,
1
,
1
,
0
,
0
,
1
,
0
,
1
,
1
,
1
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
1
},{
1
,
0
,
0
,
1
,
0
,
1
,
1
,
0
,
0
,
0
,
1
,
0
,
1
,
0
,
1
,
0
,
0
,
0
,
0
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z3_CNG4
[
4
][
20
]
=
{{
0
,
1
,
0
,
2
,
0
,
1
,
1
,
1
,
1
,
2
,
1
,
0
,
0
,
2
,
2
,
1
,
0
,
0
,
1
,
0
},{
2
,
1
,
0
,
0
,
0
,
0
,
1
,
1
,
2
,
0
,
0
,
2
,
2
,
0
,
1
,
1
,
1
,
0
,
2
,
1
},{
2
,
2
,
2
,
0
,
1
,
0
,
0
,
1
,
2
,
1
,
0
,
2
,
1
,
0
,
0
,
2
,
1
,
0
,
1
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z4_CNG4
[
4
][
20
]
=
{{
3
,
2
,
3
,
3
,
0
,
3
,
2
,
0
,
3
,
2
,
2
,
2
,
0
,
3
,
1
,
0
,
3
,
3
,
0
,
1
},{
2
,
2
,
3
,
3
,
2
,
0
,
1
,
2
,
3
,
3
,
1
,
0
,
0
,
1
,
0
,
2
,
2
,
0
,
3
,
1
},{
3
,
2
,
2
,
1
,
2
,
1
,
1
,
2
,
2
,
0
,
3
,
2
,
3
,
0
,
3
,
2
,
2
,
2
,
0
,
2
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z5_CNG4
[
4
][
20
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
1
,
0
,
3
,
3
,
3
,
3
,
3
,
2
,
0
,
4
,
1
,
0
,
3
,
4
,
2
,
3
,
3
,
4
,
1
,
2
},{
2
,
2
,
3
,
4
,
1
,
4
,
4
,
3
,
3
,
2
,
0
,
2
,
3
,
3
,
1
,
2
,
4
,
3
,
3
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z6_CNG4
[
4
][
20
]
=
{{
0
,
4
,
3
,
2
,
0
,
4
,
4
,
1
,
4
,
2
,
4
,
0
,
3
,
5
,
5
,
1
,
0
,
3
,
1
,
3
},{
2
,
4
,
3
,
3
,
0
,
0
,
1
,
1
,
2
,
3
,
3
,
2
,
5
,
3
,
4
,
1
,
1
,
0
,
5
,
1
},{
5
,
2
,
5
,
3
,
4
,
0
,
3
,
1
,
5
,
4
,
0
,
5
,
4
,
0
,
0
,
2
,
4
,
3
,
1
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z7_CNG4
[
4
][
20
]
=
{{
4
,
0
,
4
,
4
,
5
,
0
,
6
,
3
,
2
,
6
,
6
,
3
,
1
,
1
,
0
,
1
,
2
,
1
,
0
,
1
},{
2
,
1
,
0
,
4
,
2
,
5
,
6
,
1
,
5
,
4
,
2
,
0
,
5
,
5
,
4
,
0
,
6
,
6
,
0
,
3
},{
3
,
5
,
4
,
5
,
2
,
2
,
1
,
4
,
1
,
0
,
4
,
5
,
4
,
6
,
6
,
6
,
4
,
0
,
1
,
4
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z8_CNG4
[
4
][
20
]
=
{{
3
,
6
,
7
,
3
,
4
,
7
,
2
,
4
,
7
,
6
,
2
,
2
,
4
,
3
,
1
,
4
,
7
,
7
,
0
,
1
},{
6
,
6
,
7
,
7
,
2
,
4
,
1
,
2
,
3
,
3
,
5
,
4
,
4
,
5
,
0
,
6
,
2
,
4
,
3
,
5
},{
7
,
6
,
6
,
5
,
2
,
1
,
5
,
2
,
6
,
0
,
7
,
6
,
3
,
4
,
7
,
2
,
6
,
2
,
0
,
6
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z9_CNG4
[
4
][
20
]
=
{{
6
,
7
,
6
,
4
,
8
,
7
,
2
,
1
,
5
,
3
,
7
,
5
,
0
,
1
,
6
,
4
,
1
,
2
,
6
,
3
},{
6
,
6
,
5
,
6
,
7
,
1
,
4
,
3
,
7
,
6
,
5
,
8
,
6
,
7
,
2
,
3
,
7
,
5
,
1
,
2
},{
6
,
7
,
5
,
2
,
7
,
5
,
6
,
0
,
2
,
2
,
7
,
8
,
2
,
6
,
3
,
8
,
1
,
7
,
3
,
1
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z10_CNG4
[
4
][
20
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
6
,
5
,
3
,
3
,
8
,
8
,
8
,
7
,
5
,
9
,
6
,
0
,
8
,
9
,
7
,
3
,
3
,
4
,
6
,
2
},{
7
,
7
,
8
,
9
,
6
,
4
,
4
,
3
,
8
,
7
,
0
,
2
,
3
,
8
,
6
,
2
,
9
,
8
,
3
,
5
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z11_CNG4
[
4
][
20
]
=
{{
9
,
9
,
1
,
5
,
8
,
2
,
7
,
2
,
0
,
3
,
9
,
6
,
6
,
0
,
5
,
7
,
2
,
10
,
6
,
0
},{
1
,
9
,
0
,
4
,
9
,
3
,
8
,
1
,
0
,
9
,
2
,
7
,
5
,
8
,
9
,
0
,
7
,
6
,
2
,
6
},{
6
,
7
,
4
,
7
,
0
,
2
,
8
,
7
,
7
,
6
,
6
,
10
,
7
,
8
,
7
,
8
,
8
,
6
,
5
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z12_CNG4
[
4
][
20
]
=
{{
0
,
10
,
3
,
8
,
6
,
10
,
4
,
1
,
10
,
2
,
10
,
0
,
9
,
5
,
5
,
1
,
0
,
9
,
7
,
3
},{
2
,
10
,
9
,
3
,
6
,
6
,
1
,
7
,
2
,
9
,
3
,
8
,
11
,
9
,
4
,
7
,
7
,
0
,
11
,
7
},{
5
,
8
,
11
,
9
,
10
,
0
,
9
,
7
,
11
,
4
,
0
,
5
,
4
,
0
,
6
,
2
,
10
,
9
,
7
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z13_CNG4
[
4
][
20
]
=
{{
4
,
10
,
5
,
5
,
12
,
6
,
1
,
10
,
0
,
9
,
1
,
6
,
7
,
2
,
1
,
2
,
1
,
12
,
11
,
9
},{
1
,
8
,
12
,
4
,
8
,
7
,
9
,
5
,
1
,
5
,
4
,
0
,
4
,
9
,
11
,
11
,
4
,
1
,
7
,
2
},{
0
,
9
,
10
,
11
,
10
,
0
,
10
,
10
,
0
,
10
,
7
,
7
,
10
,
11
,
12
,
10
,
9
,
4
,
10
,
11
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z14_CNG4
[
4
][
20
]
=
{{
4
,
7
,
4
,
4
,
12
,
7
,
6
,
10
,
2
,
13
,
6
,
10
,
1
,
1
,
7
,
1
,
9
,
8
,
0
,
8
},{
2
,
1
,
7
,
4
,
2
,
12
,
6
,
1
,
12
,
4
,
2
,
7
,
12
,
5
,
11
,
7
,
13
,
13
,
7
,
3
},{
3
,
12
,
11
,
12
,
2
,
2
,
1
,
11
,
8
,
7
,
11
,
12
,
11
,
13
,
13
,
13
,
4
,
0
,
8
,
11
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z15_CNG4
[
4
][
20
]
=
{{
14
,
11
,
4
,
8
,
8
,
9
,
12
,
13
,
5
,
6
,
7
,
14
,
1
,
4
,
10
,
13
,
12
,
2
,
3
,
8
},{
5
,
4
,
2
,
7
,
1
,
9
,
2
,
13
,
4
,
4
,
9
,
14
,
2
,
0
,
0
,
7
,
11
,
0
,
7
,
5
},{
0
,
0
,
12
,
7
,
0
,
13
,
6
,
11
,
6
,
10
,
1
,
11
,
1
,
6
,
10
,
1
,
0
,
9
,
0
,
5
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z16_CNG4
[
4
][
20
]
=
{{
3
,
14
,
15
,
3
,
12
,
7
,
10
,
12
,
7
,
14
,
2
,
2
,
4
,
3
,
9
,
12
,
15
,
15
,
0
,
1
},{
6
,
14
,
15
,
15
,
2
,
4
,
9
,
10
,
11
,
11
,
5
,
12
,
4
,
5
,
8
,
6
,
2
,
12
,
11
,
5
},{
7
,
6
,
14
,
5
,
2
,
9
,
13
,
2
,
14
,
8
,
7
,
6
,
11
,
4
,
15
,
10
,
6
,
2
,
8
,
6
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z18_CNG4
[
4
][
20
]
=
{{
6
,
16
,
15
,
13
,
17
,
7
,
2
,
1
,
14
,
12
,
16
,
14
,
9
,
1
,
6
,
13
,
1
,
11
,
6
,
12
},{
6
,
15
,
14
,
6
,
16
,
10
,
13
,
3
,
7
,
6
,
5
,
17
,
6
,
7
,
11
,
3
,
16
,
14
,
1
,
11
},{
15
,
16
,
5
,
2
,
16
,
5
,
6
,
9
,
2
,
11
,
7
,
17
,
2
,
6
,
3
,
8
,
1
,
16
,
12
,
1
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z20_CNG4
[
4
][
20
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
16
,
5
,
13
,
13
,
18
,
18
,
8
,
17
,
15
,
9
,
6
,
0
,
8
,
19
,
17
,
3
,
13
,
4
,
16
,
2
},{
17
,
7
,
8
,
19
,
6
,
14
,
4
,
13
,
18
,
7
,
10
,
2
,
13
,
18
,
6
,
2
,
19
,
18
,
3
,
15
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z22_CNG4
[
4
][
20
]
=
{{
20
,
9
,
12
,
5
,
19
,
13
,
18
,
2
,
0
,
3
,
20
,
6
,
17
,
11
,
16
,
7
,
2
,
21
,
6
,
0
},{
1
,
9
,
11
,
15
,
9
,
3
,
8
,
12
,
0
,
20
,
2
,
7
,
5
,
19
,
20
,
0
,
7
,
6
,
2
,
6
},{
17
,
7
,
4
,
18
,
0
,
13
,
19
,
18
,
18
,
17
,
17
,
10
,
7
,
8
,
18
,
19
,
19
,
17
,
16
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z24_CNG4
[
4
][
20
]
=
{{
0
,
22
,
15
,
20
,
18
,
10
,
4
,
13
,
10
,
14
,
22
,
12
,
21
,
5
,
5
,
1
,
12
,
21
,
7
,
3
},{
2
,
22
,
21
,
15
,
6
,
18
,
13
,
7
,
14
,
9
,
15
,
8
,
11
,
9
,
16
,
7
,
7
,
12
,
11
,
7
},{
5
,
8
,
11
,
9
,
22
,
12
,
9
,
19
,
23
,
16
,
0
,
17
,
4
,
12
,
18
,
2
,
22
,
9
,
19
,
12
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z26_CNG4
[
4
][
20
]
=
{{
17
,
23
,
18
,
18
,
25
,
6
,
14
,
10
,
0
,
9
,
14
,
6
,
7
,
15
,
1
,
15
,
1
,
25
,
11
,
9
},{
1
,
21
,
25
,
4
,
21
,
20
,
9
,
18
,
14
,
5
,
4
,
0
,
17
,
9
,
11
,
11
,
17
,
1
,
7
,
15
},{
13
,
22
,
23
,
24
,
10
,
0
,
10
,
23
,
13
,
10
,
20
,
7
,
23
,
11
,
25
,
23
,
9
,
17
,
23
,
11
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z28_CNG4
[
4
][
20
]
=
{{
4
,
7
,
18
,
4
,
12
,
7
,
6
,
24
,
16
,
13
,
20
,
24
,
15
,
1
,
7
,
1
,
9
,
22
,
14
,
8
},{
16
,
15
,
21
,
4
,
16
,
26
,
20
,
15
,
26
,
4
,
16
,
21
,
12
,
5
,
25
,
7
,
13
,
13
,
7
,
17
},{
17
,
12
,
25
,
26
,
16
,
2
,
1
,
25
,
22
,
7
,
25
,
26
,
25
,
13
,
27
,
27
,
18
,
14
,
8
,
25
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z30_CNG4
[
4
][
20
]
=
{{
29
,
26
,
4
,
8
,
8
,
9
,
27
,
28
,
5
,
21
,
7
,
29
,
16
,
4
,
25
,
28
,
12
,
17
,
18
,
23
},{
20
,
19
,
2
,
7
,
1
,
24
,
17
,
13
,
4
,
19
,
24
,
14
,
2
,
15
,
15
,
22
,
11
,
15
,
7
,
5
},{
0
,
15
,
12
,
7
,
0
,
28
,
6
,
11
,
21
,
10
,
16
,
26
,
16
,
21
,
25
,
16
,
15
,
9
,
0
,
20
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z32_CNG4
[
4
][
20
]
=
{{
19
,
14
,
31
,
19
,
28
,
23
,
26
,
12
,
23
,
14
,
2
,
18
,
4
,
19
,
25
,
12
,
31
,
15
,
0
,
1
},{
22
,
30
,
15
,
15
,
2
,
20
,
9
,
10
,
11
,
11
,
5
,
12
,
4
,
21
,
8
,
6
,
2
,
12
,
11
,
5
},{
7
,
6
,
14
,
21
,
18
,
25
,
29
,
18
,
14
,
8
,
7
,
6
,
11
,
4
,
31
,
26
,
6
,
2
,
24
,
22
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z36_CNG4
[
4
][
20
]
=
{{
6
,
34
,
33
,
31
,
17
,
7
,
2
,
19
,
32
,
30
,
34
,
32
,
27
,
1
,
24
,
13
,
1
,
11
,
6
,
12
},{
24
,
33
,
14
,
24
,
34
,
28
,
31
,
3
,
7
,
6
,
5
,
17
,
6
,
25
,
29
,
21
,
34
,
32
,
1
,
11
},{
15
,
16
,
23
,
20
,
34
,
5
,
6
,
9
,
20
,
29
,
7
,
35
,
2
,
6
,
21
,
26
,
1
,
34
,
30
,
19
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z40_CNG4
[
4
][
20
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
16
,
25
,
33
,
33
,
18
,
38
,
28
,
17
,
35
,
29
,
6
,
20
,
8
,
19
,
37
,
23
,
13
,
24
,
36
,
2
},{
37
,
7
,
8
,
19
,
6
,
34
,
24
,
33
,
38
,
7
,
30
,
2
,
13
,
38
,
6
,
2
,
19
,
18
,
23
,
15
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z44_CNG4
[
4
][
20
]
=
{{
42
,
9
,
34
,
5
,
41
,
13
,
40
,
24
,
22
,
25
,
20
,
28
,
17
,
11
,
38
,
29
,
24
,
21
,
28
,
0
},{
23
,
31
,
11
,
15
,
31
,
3
,
8
,
34
,
0
,
20
,
24
,
29
,
5
,
41
,
20
,
22
,
7
,
6
,
24
,
6
},{
39
,
29
,
4
,
40
,
22
,
13
,
41
,
40
,
18
,
17
,
17
,
10
,
29
,
30
,
40
,
41
,
19
,
17
,
38
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z48_CNG4
[
4
][
20
]
=
{{
24
,
22
,
39
,
20
,
42
,
10
,
28
,
13
,
10
,
38
,
22
,
36
,
21
,
29
,
29
,
25
,
36
,
45
,
7
,
3
},{
26
,
22
,
45
,
15
,
6
,
42
,
13
,
31
,
38
,
9
,
15
,
8
,
35
,
33
,
40
,
7
,
7
,
36
,
11
,
7
},{
29
,
8
,
11
,
33
,
46
,
12
,
9
,
19
,
47
,
16
,
24
,
17
,
28
,
12
,
18
,
26
,
46
,
9
,
19
,
12
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z52_CNG4
[
4
][
20
]
=
{{
43
,
49
,
18
,
18
,
25
,
6
,
40
,
10
,
0
,
9
,
14
,
6
,
7
,
41
,
1
,
41
,
1
,
25
,
37
,
35
},{
27
,
21
,
51
,
4
,
47
,
20
,
35
,
18
,
14
,
5
,
30
,
0
,
17
,
35
,
11
,
11
,
17
,
1
,
7
,
41
},{
13
,
22
,
49
,
50
,
36
,
0
,
10
,
23
,
13
,
36
,
46
,
7
,
23
,
37
,
25
,
23
,
35
,
17
,
23
,
11
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z56_CNG4
[
4
][
20
]
=
{{
32
,
35
,
46
,
4
,
12
,
35
,
6
,
24
,
44
,
41
,
48
,
52
,
15
,
29
,
35
,
1
,
37
,
50
,
42
,
8
},{
16
,
43
,
49
,
32
,
16
,
26
,
20
,
43
,
54
,
32
,
44
,
21
,
12
,
33
,
53
,
7
,
41
,
13
,
35
,
45
},{
45
,
40
,
53
,
54
,
44
,
30
,
29
,
25
,
22
,
7
,
25
,
54
,
53
,
13
,
55
,
27
,
46
,
42
,
36
,
25
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z60_CNG4
[
4
][
20
]
=
{{
29
,
56
,
4
,
38
,
8
,
39
,
57
,
58
,
5
,
21
,
7
,
59
,
46
,
4
,
25
,
58
,
42
,
47
,
18
,
53
},{
20
,
49
,
2
,
37
,
31
,
24
,
47
,
13
,
34
,
19
,
24
,
14
,
2
,
15
,
45
,
52
,
41
,
45
,
7
,
35
},{
0
,
45
,
12
,
37
,
30
,
28
,
6
,
11
,
51
,
10
,
16
,
56
,
46
,
21
,
55
,
46
,
45
,
9
,
0
,
50
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z64_CNG4
[
4
][
20
]
=
{{
51
,
14
,
63
,
51
,
28
,
23
,
26
,
12
,
23
,
46
,
34
,
50
,
4
,
19
,
57
,
12
,
31
,
47
,
0
,
1
},{
22
,
30
,
47
,
47
,
2
,
20
,
41
,
42
,
43
,
11
,
37
,
44
,
36
,
21
,
40
,
38
,
2
,
44
,
11
,
37
},{
7
,
38
,
14
,
21
,
50
,
57
,
29
,
18
,
46
,
8
,
7
,
38
,
43
,
36
,
63
,
26
,
38
,
34
,
56
,
54
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z72_CNG4
[
4
][
20
]
=
{{
42
,
70
,
33
,
67
,
17
,
7
,
2
,
19
,
68
,
30
,
34
,
32
,
63
,
37
,
60
,
49
,
1
,
47
,
6
,
48
},{
24
,
69
,
50
,
24
,
34
,
28
,
31
,
3
,
43
,
42
,
5
,
17
,
6
,
25
,
65
,
57
,
70
,
32
,
1
,
47
},{
51
,
16
,
59
,
56
,
70
,
41
,
6
,
9
,
56
,
29
,
43
,
71
,
2
,
42
,
21
,
26
,
1
,
70
,
30
,
19
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z80_CNG4
[
4
][
20
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
56
,
65
,
33
,
73
,
18
,
78
,
68
,
17
,
75
,
69
,
46
,
20
,
8
,
19
,
77
,
63
,
13
,
24
,
36
,
2
},{
77
,
7
,
48
,
19
,
6
,
74
,
24
,
33
,
78
,
7
,
30
,
42
,
13
,
78
,
6
,
2
,
19
,
58
,
63
,
55
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z88_CNG4
[
4
][
20
]
=
{{
86
,
53
,
34
,
49
,
85
,
13
,
40
,
68
,
22
,
25
,
64
,
28
,
17
,
11
,
38
,
73
,
24
,
21
,
72
,
44
},{
67
,
31
,
11
,
15
,
31
,
47
,
52
,
78
,
44
,
20
,
24
,
73
,
49
,
41
,
64
,
66
,
7
,
6
,
68
,
6
},{
83
,
73
,
4
,
40
,
22
,
57
,
85
,
40
,
62
,
61
,
61
,
54
,
29
,
74
,
84
,
41
,
19
,
17
,
82
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z96_CNG4
[
4
][
20
]
=
{{
72
,
22
,
39
,
68
,
90
,
58
,
76
,
61
,
10
,
86
,
70
,
84
,
69
,
77
,
77
,
25
,
84
,
93
,
7
,
51
},{
74
,
70
,
93
,
63
,
6
,
42
,
61
,
79
,
86
,
57
,
15
,
8
,
83
,
81
,
88
,
55
,
55
,
36
,
11
,
7
},{
29
,
56
,
11
,
81
,
46
,
60
,
57
,
67
,
95
,
64
,
72
,
17
,
28
,
12
,
18
,
74
,
94
,
57
,
67
,
60
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z104_CNG4
[
4
][
20
]
=
{{
43
,
101
,
18
,
70
,
25
,
6
,
92
,
10
,
52
,
9
,
14
,
6
,
59
,
93
,
53
,
93
,
53
,
77
,
89
,
87
},{
27
,
73
,
51
,
4
,
99
,
20
,
35
,
18
,
66
,
57
,
82
,
0
,
69
,
87
,
63
,
63
,
69
,
53
,
59
,
93
},{
13
,
22
,
49
,
102
,
36
,
52
,
10
,
23
,
13
,
88
,
46
,
59
,
75
,
89
,
77
,
75
,
87
,
69
,
75
,
63
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z112_CNG4
[
4
][
20
]
=
{{
88
,
35
,
46
,
4
,
68
,
35
,
6
,
80
,
44
,
41
,
104
,
108
,
71
,
29
,
91
,
1
,
37
,
106
,
98
,
8
},{
16
,
43
,
105
,
88
,
16
,
26
,
20
,
43
,
54
,
88
,
100
,
21
,
12
,
89
,
53
,
63
,
97
,
69
,
35
,
101
},{
101
,
40
,
109
,
110
,
44
,
86
,
29
,
81
,
22
,
63
,
81
,
110
,
109
,
69
,
55
,
83
,
46
,
42
,
36
,
81
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z120_CNG4
[
4
][
20
]
=
{{
29
,
56
,
4
,
38
,
8
,
39
,
117
,
118
,
5
,
81
,
7
,
59
,
46
,
64
,
85
,
58
,
42
,
47
,
78
,
53
},{
20
,
49
,
2
,
97
,
91
,
84
,
107
,
13
,
94
,
19
,
24
,
14
,
2
,
15
,
105
,
112
,
41
,
45
,
67
,
95
},{
60
,
105
,
72
,
37
,
90
,
88
,
6
,
11
,
111
,
10
,
16
,
116
,
106
,
21
,
55
,
106
,
105
,
69
,
60
,
110
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z128_CNG4
[
4
][
20
]
=
{{
51
,
14
,
63
,
51
,
92
,
87
,
26
,
76
,
23
,
46
,
98
,
114
,
4
,
19
,
57
,
12
,
31
,
111
,
0
,
1
},{
86
,
94
,
111
,
47
,
66
,
20
,
105
,
42
,
107
,
11
,
101
,
44
,
36
,
85
,
40
,
38
,
66
,
44
,
75
,
101
},{
71
,
102
,
14
,
85
,
50
,
57
,
29
,
82
,
110
,
8
,
7
,
38
,
107
,
36
,
63
,
26
,
38
,
34
,
120
,
118
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z144_CNG4
[
4
][
20
]
=
{{
42
,
70
,
33
,
139
,
17
,
79
,
2
,
91
,
68
,
30
,
106
,
32
,
135
,
37
,
60
,
121
,
1
,
119
,
6
,
48
},{
24
,
69
,
122
,
96
,
106
,
28
,
103
,
75
,
115
,
42
,
77
,
89
,
6
,
25
,
137
,
129
,
70
,
32
,
73
,
47
},{
51
,
88
,
131
,
128
,
142
,
41
,
78
,
81
,
56
,
101
,
43
,
71
,
2
,
114
,
93
,
26
,
1
,
142
,
102
,
19
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z160_CNG4
[
4
][
20
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
136
,
65
,
113
,
73
,
18
,
158
,
148
,
17
,
75
,
69
,
126
,
20
,
88
,
19
,
157
,
63
,
93
,
24
,
36
,
2
},{
157
,
87
,
48
,
99
,
86
,
154
,
104
,
33
,
158
,
87
,
110
,
122
,
13
,
78
,
6
,
82
,
19
,
138
,
143
,
55
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z176_CNG4
[
4
][
20
]
=
{{
86
,
53
,
122
,
137
,
173
,
13
,
128
,
156
,
110
,
113
,
64
,
116
,
105
,
11
,
126
,
73
,
112
,
109
,
160
,
132
},{
67
,
31
,
11
,
103
,
31
,
135
,
52
,
166
,
132
,
108
,
24
,
73
,
137
,
41
,
152
,
154
,
7
,
6
,
156
,
6
},{
83
,
161
,
4
,
40
,
22
,
145
,
173
,
40
,
150
,
61
,
149
,
142
,
29
,
162
,
172
,
129
,
19
,
105
,
82
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z192_CNG4
[
4
][
20
]
=
{{
72
,
118
,
39
,
68
,
186
,
58
,
76
,
157
,
106
,
182
,
70
,
84
,
165
,
173
,
77
,
25
,
84
,
93
,
103
,
147
},{
74
,
70
,
93
,
63
,
6
,
42
,
61
,
175
,
86
,
153
,
111
,
8
,
179
,
177
,
184
,
151
,
151
,
132
,
107
,
7
},{
29
,
152
,
11
,
81
,
46
,
156
,
153
,
67
,
95
,
64
,
168
,
17
,
124
,
12
,
18
,
170
,
190
,
57
,
163
,
60
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z208_CNG4
[
4
][
20
]
=
{{
43
,
101
,
18
,
174
,
129
,
110
,
196
,
10
,
52
,
113
,
14
,
110
,
163
,
197
,
157
,
197
,
157
,
181
,
193
,
191
},{
27
,
177
,
155
,
108
,
203
,
124
,
35
,
122
,
170
,
161
,
186
,
0
,
173
,
191
,
167
,
167
,
173
,
157
,
163
,
197
},{
117
,
22
,
49
,
102
,
140
,
52
,
114
,
23
,
13
,
88
,
46
,
163
,
179
,
193
,
181
,
179
,
191
,
173
,
179
,
167
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z224_CNG4
[
4
][
20
]
=
{{
200
,
147
,
46
,
116
,
68
,
35
,
6
,
80
,
156
,
153
,
216
,
108
,
71
,
29
,
91
,
1
,
37
,
106
,
98
,
120
},{
16
,
43
,
217
,
200
,
16
,
138
,
20
,
43
,
54
,
88
,
212
,
21
,
12
,
201
,
165
,
175
,
97
,
181
,
35
,
101
},{
101
,
152
,
109
,
110
,
156
,
86
,
141
,
81
,
134
,
63
,
193
,
110
,
109
,
69
,
55
,
83
,
46
,
154
,
36
,
81
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z240_CNG4
[
4
][
20
]
=
{{
29
,
176
,
124
,
38
,
128
,
39
,
117
,
238
,
5
,
81
,
7
,
179
,
46
,
184
,
85
,
178
,
42
,
167
,
78
,
53
},{
140
,
169
,
122
,
217
,
211
,
84
,
227
,
13
,
94
,
19
,
144
,
14
,
2
,
135
,
225
,
112
,
41
,
45
,
67
,
215
},{
180
,
225
,
72
,
157
,
210
,
88
,
6
,
11
,
111
,
130
,
16
,
116
,
106
,
141
,
175
,
106
,
105
,
189
,
180
,
230
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z256_CNG4
[
4
][
20
]
=
{{
179
,
142
,
63
,
51
,
220
,
87
,
26
,
76
,
23
,
46
,
98
,
242
,
132
,
147
,
57
,
140
,
31
,
239
,
0
,
129
},{
214
,
94
,
111
,
175
,
194
,
20
,
105
,
42
,
235
,
139
,
101
,
44
,
164
,
85
,
40
,
38
,
66
,
172
,
75
,
229
},{
71
,
230
,
14
,
213
,
50
,
185
,
29
,
210
,
238
,
8
,
135
,
166
,
235
,
36
,
63
,
154
,
38
,
34
,
120
,
118
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z288_CNG4
[
4
][
20
]
=
{{
42
,
70
,
33
,
139
,
17
,
79
,
2
,
91
,
68
,
30
,
106
,
32
,
135
,
37
,
60
,
121
,
1
,
119
,
6
,
48
},{
24
,
69
,
122
,
96
,
106
,
28
,
103
,
75
,
115
,
42
,
77
,
89
,
6
,
25
,
137
,
129
,
70
,
32
,
73
,
47
},{
51
,
88
,
131
,
128
,
142
,
41
,
78
,
81
,
56
,
101
,
43
,
71
,
2
,
114
,
93
,
26
,
1
,
142
,
102
,
19
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z320_CNG4
[
4
][
20
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
136
,
65
,
113
,
73
,
18
,
158
,
148
,
17
,
75
,
69
,
126
,
20
,
88
,
19
,
157
,
63
,
93
,
24
,
36
,
2
},{
157
,
87
,
48
,
99
,
86
,
154
,
104
,
33
,
158
,
87
,
110
,
122
,
13
,
78
,
6
,
82
,
19
,
138
,
143
,
55
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z352_CNG4
[
4
][
20
]
=
{{
86
,
53
,
122
,
137
,
173
,
13
,
128
,
156
,
110
,
113
,
64
,
116
,
105
,
11
,
126
,
73
,
112
,
109
,
160
,
132
},{
67
,
31
,
11
,
103
,
31
,
135
,
52
,
166
,
132
,
108
,
24
,
73
,
137
,
41
,
152
,
154
,
7
,
6
,
156
,
6
},{
83
,
161
,
4
,
40
,
22
,
145
,
173
,
40
,
150
,
61
,
149
,
142
,
29
,
162
,
172
,
129
,
19
,
105
,
82
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z384_CNG4
[
4
][
20
]
=
{{
72
,
118
,
39
,
68
,
186
,
58
,
76
,
157
,
106
,
182
,
70
,
84
,
165
,
173
,
77
,
25
,
84
,
93
,
103
,
147
},{
74
,
70
,
93
,
63
,
6
,
42
,
61
,
175
,
86
,
153
,
111
,
8
,
179
,
177
,
184
,
151
,
151
,
132
,
107
,
7
},{
29
,
152
,
11
,
81
,
46
,
156
,
153
,
67
,
95
,
64
,
168
,
17
,
124
,
12
,
18
,
170
,
190
,
57
,
163
,
60
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
// CNG5
static
const
uint16_t
circShift_BG2_Z2_CNG5
[
5
][
9
]
=
{{
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
1
},{
1
,
1
,
0
,
0
,
1
,
0
,
0
,
1
,
0
},{
1
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
1
},{
1
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z3_CNG5
[
5
][
9
]
=
{{
1
,
2
,
2
,
1
,
1
,
0
,
2
,
1
,
0
},{
0
,
2
,
2
,
2
,
1
,
0
,
2
,
2
,
1
},{
2
,
1
,
0
,
2
,
0
,
0
,
0
,
1
,
1
},{
1
,
1
,
1
,
1
,
1
,
1
,
0
,
1
,
2
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z4_CNG5
[
5
][
9
]
=
{{
3
,
3
,
3
,
3
,
3
,
3
,
2
,
1
,
3
},{
1
,
1
,
0
,
2
,
1
,
2
,
0
,
3
,
0
},{
1
,
0
,
2
,
2
,
3
,
0
,
2
,
0
,
1
},{
3
,
1
,
0
,
2
,
0
,
2
,
0
,
2
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z5_CNG5
[
5
][
9
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
2
,
2
,
2
,
2
,
3
,
4
,
4
,
0
,
0
},{
1
,
1
,
4
,
2
,
2
,
1
,
4
,
3
,
1
},{
0
,
0
,
2
,
1
,
2
,
3
,
3
,
2
,
4
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z6_CNG5
[
5
][
9
]
=
{{
4
,
5
,
2
,
1
,
1
,
3
,
2
,
1
,
0
},{
0
,
2
,
2
,
5
,
4
,
3
,
5
,
5
,
4
},{
5
,
4
,
0
,
5
,
3
,
3
,
3
,
1
,
4
},{
4
,
4
,
4
,
4
,
1
,
4
,
0
,
1
,
2
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z7_CNG5
[
5
][
9
]
=
{{
2
,
6
,
1
,
2
,
1
,
5
,
6
,
6
,
1
},{
2
,
3
,
5
,
1
,
4
,
4
,
6
,
6
,
2
},{
2
,
1
,
5
,
3
,
5
,
1
,
3
,
4
,
3
},{
6
,
0
,
1
,
0
,
4
,
6
,
2
,
6
,
1
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z8_CNG5
[
5
][
9
]
=
{{
3
,
3
,
3
,
3
,
3
,
3
,
6
,
5
,
7
},{
5
,
1
,
4
,
2
,
1
,
6
,
4
,
7
,
0
},{
5
,
0
,
2
,
6
,
3
,
0
,
2
,
0
,
1
},{
7
,
5
,
0
,
6
,
0
,
2
,
0
,
2
,
4
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z9_CNG5
[
5
][
9
]
=
{{
7
,
1
,
1
,
4
,
8
,
3
,
3
,
7
,
6
},{
4
,
5
,
3
,
1
,
6
,
0
,
7
,
1
,
2
},{
6
,
2
,
8
,
8
,
4
,
1
,
2
,
1
,
5
},{
4
,
6
,
1
,
2
,
7
,
8
,
6
,
7
,
7
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z10_CNG5
[
5
][
9
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
7
,
7
,
7
,
2
,
8
,
9
,
4
,
0
,
5
},{
1
,
6
,
4
,
2
,
7
,
1
,
9
,
3
,
1
},{
5
,
0
,
2
,
6
,
7
,
3
,
8
,
7
,
4
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z11_CNG5
[
5
][
9
]
=
{{
5
,
1
,
3
,
7
,
0
,
1
,
2
,
3
,
7
},{
10
,
3
,
10
,
3
,
2
,
4
,
1
,
5
,
8
},{
0
,
9
,
2
,
5
,
8
,
6
,
7
,
9
,
5
},{
9
,
1
,
9
,
6
,
1
,
0
,
9
,
2
,
7
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z12_CNG5
[
5
][
9
]
=
{{
4
,
11
,
8
,
1
,
7
,
3
,
2
,
7
,
0
},{
0
,
8
,
8
,
5
,
10
,
9
,
11
,
5
,
10
},{
5
,
10
,
6
,
11
,
9
,
3
,
9
,
7
,
4
},{
10
,
4
,
10
,
10
,
7
,
4
,
6
,
1
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z13_CNG5
[
5
][
9
]
=
{{
4
,
8
,
0
,
6
,
0
,
8
,
5
,
8
,
5
},{
1
,
8
,
3
,
1
,
7
,
5
,
6
,
3
,
4
},{
10
,
8
,
9
,
4
,
0
,
2
,
12
,
10
,
11
},{
3
,
12
,
8
,
4
,
5
,
7
,
9
,
5
,
6
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z14_CNG5
[
5
][
9
]
=
{{
2
,
6
,
1
,
9
,
8
,
5
,
6
,
6
,
8
},{
2
,
10
,
12
,
1
,
11
,
4
,
6
,
6
,
2
},{
2
,
8
,
12
,
3
,
12
,
8
,
10
,
11
,
3
},{
13
,
0
,
1
,
0
,
4
,
13
,
2
,
6
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z15_CNG5
[
5
][
9
]
=
{{
2
,
8
,
13
,
3
,
7
,
5
,
1
,
11
,
7
},{
13
,
7
,
4
,
12
,
7
,
8
,
8
,
6
,
4
},{
3
,
13
,
3
,
2
,
9
,
10
,
0
,
10
,
11
},{
8
,
7
,
6
,
9
,
12
,
7
,
8
,
11
,
2
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z16_CNG5
[
5
][
9
]
=
{{
11
,
11
,
11
,
3
,
3
,
11
,
14
,
13
,
7
},{
13
,
9
,
12
,
2
,
1
,
14
,
12
,
15
,
0
},{
13
,
0
,
2
,
6
,
3
,
8
,
2
,
0
,
9
},{
7
,
5
,
8
,
14
,
8
,
2
,
0
,
10
,
4
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z18_CNG5
[
5
][
9
]
=
{{
7
,
10
,
10
,
4
,
17
,
12
,
12
,
16
,
15
},{
4
,
5
,
12
,
1
,
15
,
9
,
7
,
10
,
2
},{
6
,
11
,
8
,
8
,
4
,
10
,
11
,
10
,
14
},{
13
,
6
,
10
,
11
,
7
,
8
,
6
,
7
,
16
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z20_CNG5
[
5
][
9
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
17
,
17
,
7
,
12
,
18
,
19
,
4
,
0
,
15
},{
11
,
16
,
4
,
2
,
17
,
11
,
9
,
13
,
11
},{
5
,
0
,
2
,
6
,
7
,
3
,
18
,
7
,
14
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z22_CNG5
[
5
][
9
]
=
{{
16
,
1
,
3
,
7
,
11
,
12
,
2
,
14
,
18
},{
10
,
3
,
21
,
3
,
13
,
4
,
1
,
16
,
19
},{
11
,
20
,
2
,
5
,
8
,
17
,
18
,
9
,
5
},{
20
,
1
,
9
,
17
,
12
,
11
,
9
,
13
,
7
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z24_CNG5
[
5
][
9
]
=
{{
4
,
11
,
8
,
1
,
19
,
15
,
14
,
19
,
0
},{
12
,
8
,
20
,
5
,
22
,
9
,
23
,
17
,
10
},{
17
,
22
,
6
,
11
,
21
,
15
,
9
,
7
,
4
},{
10
,
4
,
10
,
22
,
19
,
16
,
6
,
13
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z26_CNG5
[
5
][
9
]
=
{{
4
,
21
,
13
,
6
,
13
,
21
,
5
,
8
,
18
},{
1
,
8
,
3
,
1
,
20
,
5
,
19
,
16
,
17
},{
23
,
21
,
9
,
17
,
0
,
2
,
12
,
23
,
24
},{
3
,
25
,
8
,
4
,
5
,
20
,
9
,
5
,
6
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z28_CNG5
[
5
][
9
]
=
{{
2
,
6
,
15
,
9
,
8
,
19
,
20
,
6
,
22
},{
2
,
10
,
26
,
1
,
11
,
18
,
20
,
6
,
16
},{
16
,
8
,
26
,
3
,
12
,
22
,
10
,
25
,
17
},{
27
,
0
,
15
,
0
,
4
,
13
,
2
,
6
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z30_CNG5
[
5
][
9
]
=
{{
17
,
8
,
28
,
18
,
22
,
20
,
16
,
26
,
7
},{
28
,
7
,
4
,
27
,
22
,
23
,
23
,
6
,
19
},{
18
,
28
,
18
,
17
,
24
,
25
,
15
,
10
,
11
},{
8
,
22
,
21
,
9
,
12
,
22
,
8
,
26
,
17
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z32_CNG5
[
5
][
9
]
=
{{
11
,
11
,
11
,
19
,
19
,
11
,
30
,
29
,
7
},{
13
,
25
,
12
,
2
,
17
,
14
,
28
,
15
,
16
},{
29
,
0
,
18
,
6
,
3
,
8
,
18
,
0
,
9
},{
23
,
21
,
24
,
30
,
8
,
18
,
0
,
26
,
20
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z36_CNG5
[
5
][
9
]
=
{{
25
,
10
,
28
,
4
,
35
,
12
,
12
,
34
,
15
},{
4
,
5
,
30
,
1
,
15
,
9
,
7
,
28
,
20
},{
24
,
29
,
8
,
26
,
22
,
28
,
29
,
28
,
32
},{
13
,
24
,
28
,
11
,
25
,
8
,
6
,
25
,
34
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z40_CNG5
[
5
][
9
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
17
,
17
,
7
,
32
,
18
,
39
,
24
,
20
,
35
},{
11
,
36
,
4
,
22
,
17
,
31
,
29
,
13
,
11
},{
5
,
20
,
2
,
26
,
27
,
23
,
18
,
7
,
14
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z44_CNG5
[
5
][
9
]
=
{{
16
,
23
,
3
,
29
,
11
,
34
,
2
,
36
,
40
},{
10
,
25
,
43
,
3
,
13
,
26
,
23
,
38
,
41
},{
11
,
42
,
24
,
27
,
8
,
17
,
18
,
9
,
5
},{
20
,
23
,
9
,
39
,
34
,
33
,
31
,
13
,
29
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z48_CNG5
[
5
][
9
]
=
{{
28
,
11
,
32
,
1
,
19
,
39
,
14
,
19
,
24
},{
36
,
8
,
44
,
29
,
22
,
33
,
23
,
41
,
10
},{
41
,
22
,
30
,
35
,
21
,
39
,
9
,
7
,
4
},{
34
,
4
,
10
,
22
,
19
,
16
,
6
,
37
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z52_CNG5
[
5
][
9
]
=
{{
30
,
21
,
39
,
32
,
39
,
21
,
5
,
8
,
18
},{
27
,
8
,
29
,
1
,
20
,
31
,
45
,
16
,
17
},{
49
,
21
,
35
,
43
,
0
,
2
,
38
,
49
,
50
},{
29
,
51
,
8
,
30
,
5
,
20
,
35
,
5
,
6
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z56_CNG5
[
5
][
9
]
=
{{
2
,
6
,
43
,
37
,
36
,
19
,
48
,
34
,
50
},{
30
,
38
,
26
,
1
,
39
,
46
,
20
,
6
,
44
},{
16
,
8
,
54
,
31
,
40
,
22
,
38
,
53
,
17
},{
27
,
0
,
43
,
28
,
4
,
41
,
2
,
6
,
8
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z60_CNG5
[
5
][
9
]
=
{{
47
,
38
,
58
,
48
,
22
,
50
,
16
,
26
,
37
},{
58
,
37
,
34
,
57
,
52
,
23
,
53
,
6
,
19
},{
48
,
28
,
48
,
47
,
24
,
55
,
15
,
10
,
41
},{
8
,
52
,
51
,
39
,
42
,
22
,
38
,
26
,
17
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z64_CNG5
[
5
][
9
]
=
{{
11
,
11
,
11
,
19
,
51
,
11
,
62
,
29
,
7
},{
13
,
57
,
44
,
2
,
17
,
14
,
60
,
15
,
48
},{
61
,
0
,
18
,
38
,
3
,
8
,
50
,
32
,
9
},{
55
,
53
,
56
,
30
,
40
,
50
,
0
,
58
,
20
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z72_CNG5
[
5
][
9
]
=
{{
25
,
46
,
28
,
4
,
71
,
48
,
48
,
70
,
15
},{
40
,
41
,
30
,
37
,
51
,
9
,
43
,
28
,
56
},{
24
,
29
,
44
,
62
,
58
,
28
,
65
,
28
,
32
},{
49
,
24
,
64
,
47
,
25
,
8
,
42
,
61
,
70
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z80_CNG5
[
5
][
9
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
17
,
17
,
7
,
32
,
58
,
79
,
24
,
20
,
35
},{
51
,
76
,
4
,
22
,
57
,
31
,
29
,
13
,
51
},{
5
,
20
,
2
,
26
,
27
,
63
,
18
,
7
,
54
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z88_CNG5
[
5
][
9
]
=
{{
16
,
23
,
3
,
29
,
11
,
78
,
46
,
36
,
84
},{
54
,
25
,
87
,
3
,
57
,
70
,
23
,
38
,
85
},{
11
,
86
,
24
,
27
,
8
,
17
,
62
,
53
,
5
},{
64
,
23
,
53
,
39
,
78
,
77
,
75
,
57
,
29
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z96_CNG5
[
5
][
9
]
=
{{
28
,
59
,
32
,
49
,
19
,
87
,
62
,
67
,
24
},{
36
,
8
,
92
,
29
,
22
,
81
,
23
,
41
,
58
},{
89
,
22
,
78
,
35
,
21
,
39
,
9
,
55
,
52
},{
82
,
52
,
58
,
70
,
67
,
64
,
6
,
85
,
56
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z104_CNG5
[
5
][
9
]
=
{{
82
,
21
,
39
,
32
,
91
,
21
,
57
,
60
,
70
},{
27
,
60
,
29
,
53
,
20
,
31
,
97
,
68
,
17
},{
101
,
73
,
35
,
95
,
52
,
54
,
38
,
49
,
50
},{
81
,
51
,
8
,
82
,
5
,
72
,
35
,
57
,
6
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z112_CNG5
[
5
][
9
]
=
{{
2
,
62
,
99
,
37
,
36
,
75
,
48
,
90
,
106
},{
30
,
38
,
26
,
1
,
95
,
46
,
20
,
6
,
44
},{
72
,
8
,
110
,
31
,
40
,
22
,
94
,
109
,
73
},{
83
,
56
,
99
,
28
,
4
,
97
,
2
,
6
,
64
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z120_CNG5
[
5
][
9
]
=
{{
47
,
38
,
58
,
48
,
82
,
50
,
76
,
26
,
37
},{
118
,
97
,
94
,
57
,
112
,
23
,
53
,
66
,
19
},{
48
,
88
,
48
,
47
,
84
,
55
,
75
,
70
,
101
},{
68
,
112
,
51
,
99
,
42
,
82
,
98
,
86
,
17
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z128_CNG5
[
5
][
9
]
=
{{
75
,
11
,
11
,
83
,
115
,
75
,
126
,
29
,
71
},{
77
,
57
,
108
,
2
,
17
,
14
,
124
,
15
,
112
},{
61
,
0
,
82
,
38
,
3
,
8
,
114
,
32
,
9
},{
119
,
117
,
56
,
94
,
104
,
114
,
64
,
122
,
84
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z144_CNG5
[
5
][
9
]
=
{{
97
,
46
,
28
,
76
,
143
,
48
,
120
,
142
,
87
},{
40
,
41
,
30
,
37
,
51
,
9
,
43
,
28
,
56
},{
24
,
101
,
116
,
62
,
130
,
28
,
65
,
100
,
104
},{
49
,
96
,
64
,
47
,
97
,
8
,
42
,
133
,
70
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z160_CNG5
[
5
][
9
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
97
,
17
,
7
,
112
,
138
,
79
,
24
,
100
,
35
},{
51
,
156
,
4
,
102
,
57
,
111
,
109
,
13
,
51
},{
85
,
20
,
2
,
26
,
27
,
143
,
18
,
7
,
134
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z176_CNG5
[
5
][
9
]
=
{{
104
,
111
,
91
,
29
,
11
,
78
,
134
,
36
,
84
},{
142
,
25
,
175
,
91
,
145
,
158
,
23
,
38
,
173
},{
99
,
174
,
24
,
27
,
8
,
17
,
62
,
53
,
93
},{
64
,
23
,
141
,
127
,
166
,
165
,
163
,
145
,
29
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z192_CNG5
[
5
][
9
]
=
{{
28
,
59
,
32
,
49
,
19
,
87
,
158
,
67
,
120
},{
132
,
104
,
92
,
125
,
118
,
177
,
23
,
137
,
154
},{
185
,
22
,
174
,
35
,
21
,
135
,
9
,
55
,
52
},{
178
,
52
,
154
,
166
,
163
,
64
,
6
,
85
,
56
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z208_CNG5
[
5
][
9
]
=
{{
186
,
125
,
39
,
32
,
91
,
125
,
57
,
164
,
70
},{
27
,
60
,
29
,
53
,
20
,
31
,
201
,
172
,
17
},{
205
,
177
,
35
,
95
,
52
,
54
,
142
,
49
,
50
},{
81
,
51
,
8
,
186
,
109
,
176
,
35
,
161
,
6
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z224_CNG5
[
5
][
9
]
=
{{
2
,
174
,
99
,
37
,
36
,
75
,
48
,
90
,
106
},{
30
,
150
,
138
,
113
,
95
,
158
,
132
,
6
,
44
},{
184
,
8
,
110
,
143
,
40
,
134
,
206
,
221
,
185
},{
83
,
56
,
99
,
140
,
116
,
97
,
2
,
6
,
176
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z240_CNG5
[
5
][
9
]
=
{{
167
,
38
,
178
,
48
,
82
,
170
,
196
,
146
,
37
},{
238
,
217
,
214
,
57
,
232
,
23
,
173
,
66
,
139
},{
48
,
208
,
168
,
167
,
204
,
175
,
195
,
190
,
221
},{
68
,
232
,
51
,
219
,
162
,
202
,
218
,
86
,
17
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z256_CNG5
[
5
][
9
]
=
{{
203
,
11
,
11
,
83
,
115
,
203
,
254
,
29
,
71
},{
205
,
185
,
236
,
2
,
145
,
142
,
124
,
143
,
240
},{
61
,
0
,
210
,
38
,
3
,
8
,
114
,
160
,
9
},{
247
,
117
,
56
,
222
,
232
,
242
,
64
,
122
,
84
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z288_CNG5
[
5
][
9
]
=
{{
97
,
46
,
28
,
76
,
143
,
48
,
120
,
142
,
87
},{
40
,
41
,
30
,
37
,
51
,
9
,
43
,
28
,
56
},{
24
,
101
,
116
,
62
,
130
,
28
,
65
,
100
,
104
},{
49
,
96
,
64
,
47
,
97
,
8
,
42
,
133
,
70
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z320_CNG5
[
5
][
9
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
97
,
17
,
7
,
112
,
138
,
79
,
24
,
100
,
35
},{
51
,
156
,
4
,
102
,
57
,
111
,
109
,
13
,
51
},{
85
,
20
,
2
,
26
,
27
,
143
,
18
,
7
,
134
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z352_CNG5
[
5
][
9
]
=
{{
104
,
111
,
91
,
29
,
11
,
78
,
134
,
36
,
84
},{
142
,
25
,
175
,
91
,
145
,
158
,
23
,
38
,
173
},{
99
,
174
,
24
,
27
,
8
,
17
,
62
,
53
,
93
},{
64
,
23
,
141
,
127
,
166
,
165
,
163
,
145
,
29
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z384_CNG5
[
5
][
9
]
=
{{
28
,
59
,
32
,
49
,
19
,
87
,
158
,
67
,
120
},{
132
,
104
,
92
,
125
,
118
,
177
,
23
,
137
,
154
},{
185
,
22
,
174
,
35
,
21
,
135
,
9
,
55
,
52
},{
178
,
52
,
154
,
166
,
163
,
64
,
6
,
85
,
56
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
// CNG6
static
const
uint16_t
circShift_BG2_Z2_CNG6
[
6
][
3
]
=
{{
1
,
1
,
1
},{
1
,
0
,
1
},{
0
,
1
,
0
},{
1
,
0
,
1
},{
1
,
0
,
0
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z3_CNG6
[
6
][
3
]
=
{{
1
,
0
,
2
},{
2
,
2
,
0
},{
1
,
1
,
1
},{
2
,
1
,
0
},{
0
,
1
,
2
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z4_CNG6
[
6
][
3
]
=
{{
3
,
3
,
1
},{
1
,
0
,
3
},{
2
,
1
,
0
},{
3
,
0
,
3
},{
3
,
2
,
0
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z5_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
1
,
4
,
0
},{
2
,
4
,
3
},{
1
,
0
,
1
},{
4
,
3
,
3
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z6_CNG6
[
6
][
3
]
=
{{
4
,
3
,
2
},{
2
,
2
,
0
},{
1
,
4
,
4
},{
2
,
1
,
0
},{
0
,
4
,
5
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z7_CNG6
[
6
][
3
]
=
{{
3
,
4
,
5
},{
5
,
6
,
6
},{
2
,
3
,
0
},{
2
,
5
,
3
},{
4
,
6
,
6
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z8_CNG6
[
6
][
3
]
=
{{
7
,
3
,
1
},{
1
,
4
,
3
},{
2
,
5
,
4
},{
7
,
4
,
3
},{
7
,
6
,
4
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z9_CNG6
[
6
][
3
]
=
{{
4
,
1
,
7
},{
5
,
6
,
0
},{
3
,
8
,
8
},{
2
,
7
,
0
},{
8
,
4
,
2
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z10_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
1
,
4
,
5
},{
2
,
9
,
8
},{
1
,
5
,
6
},{
4
,
8
,
8
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z11_CNG6
[
6
][
3
]
=
{{
2
,
3
,
4
},{
7
,
0
,
4
},{
2
,
10
,
2
},{
4
,
1
,
3
},{
5
,
7
,
0
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z12_CNG6
[
6
][
3
]
=
{{
10
,
9
,
8
},{
8
,
8
,
6
},{
1
,
4
,
4
},{
8
,
1
,
6
},{
0
,
4
,
11
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z13_CNG6
[
6
][
3
]
=
{{
6
,
7
,
7
},{
10
,
8
,
0
},{
10
,
3
,
0
},{
2
,
12
,
3
},{
10
,
12
,
6
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z14_CNG6
[
6
][
3
]
=
{{
3
,
11
,
5
},{
12
,
13
,
13
},{
2
,
3
,
7
},{
9
,
12
,
10
},{
11
,
13
,
13
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z15_CNG6
[
6
][
3
]
=
{{
1
,
2
,
11
},{
11
,
12
,
6
},{
4
,
7
,
12
},{
13
,
4
,
7
},{
12
,
11
,
4
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z16_CNG6
[
6
][
3
]
=
{{
7
,
11
,
1
},{
9
,
4
,
3
},{
2
,
13
,
12
},{
15
,
12
,
3
},{
7
,
14
,
4
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z18_CNG6
[
6
][
3
]
=
{{
4
,
1
,
7
},{
14
,
15
,
9
},{
12
,
17
,
17
},{
11
,
7
,
0
},{
17
,
13
,
11
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z20_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
11
,
4
,
5
},{
2
,
19
,
8
},{
1
,
5
,
16
},{
4
,
8
,
18
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z22_CNG6
[
6
][
3
]
=
{{
13
,
3
,
4
},{
18
,
0
,
15
},{
13
,
10
,
2
},{
15
,
1
,
3
},{
16
,
7
,
11
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z24_CNG6
[
6
][
3
]
=
{{
10
,
9
,
8
},{
20
,
20
,
18
},{
1
,
4
,
16
},{
8
,
1
,
6
},{
0
,
16
,
23
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z26_CNG6
[
6
][
3
]
=
{{
6
,
7
,
7
},{
23
,
8
,
0
},{
10
,
16
,
13
},{
2
,
12
,
3
},{
10
,
12
,
6
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z28_CNG6
[
6
][
3
]
=
{{
17
,
11
,
19
},{
26
,
27
,
13
},{
2
,
3
,
21
},{
23
,
26
,
10
},{
25
,
13
,
13
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z30_CNG6
[
6
][
3
]
=
{{
1
,
17
,
26
},{
11
,
12
,
6
},{
19
,
22
,
27
},{
28
,
4
,
22
},{
27
,
26
,
4
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z32_CNG6
[
6
][
3
]
=
{{
7
,
27
,
1
},{
9
,
4
,
19
},{
2
,
13
,
12
},{
31
,
28
,
3
},{
7
,
30
,
20
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z36_CNG6
[
6
][
3
]
=
{{
4
,
1
,
25
},{
32
,
15
,
27
},{
12
,
35
,
35
},{
29
,
25
,
0
},{
35
,
31
,
29
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z40_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
11
,
4
,
5
},{
22
,
19
,
28
},{
21
,
5
,
16
},{
24
,
28
,
38
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z44_CNG6
[
6
][
3
]
=
{{
35
,
3
,
4
},{
40
,
22
,
37
},{
35
,
10
,
24
},{
15
,
23
,
3
},{
16
,
29
,
11
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z48_CNG6
[
6
][
3
]
=
{{
10
,
33
,
32
},{
44
,
44
,
42
},{
25
,
4
,
16
},{
32
,
1
,
6
},{
0
,
40
,
47
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z52_CNG6
[
6
][
3
]
=
{{
32
,
7
,
7
},{
49
,
34
,
26
},{
36
,
42
,
39
},{
28
,
12
,
3
},{
10
,
12
,
6
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z56_CNG6
[
6
][
3
]
=
{{
17
,
11
,
47
},{
26
,
55
,
13
},{
2
,
31
,
49
},{
51
,
54
,
38
},{
25
,
41
,
13
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z60_CNG6
[
6
][
3
]
=
{{
1
,
17
,
26
},{
41
,
12
,
6
},{
49
,
52
,
27
},{
28
,
4
,
52
},{
27
,
56
,
34
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z64_CNG6
[
6
][
3
]
=
{{
39
,
27
,
1
},{
41
,
36
,
19
},{
2
,
45
,
12
},{
31
,
28
,
3
},{
39
,
30
,
52
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z72_CNG6
[
6
][
3
]
=
{{
40
,
37
,
25
},{
68
,
15
,
63
},{
12
,
35
,
35
},{
65
,
61
,
36
},{
71
,
67
,
65
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z80_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
51
,
44
,
45
},{
62
,
19
,
68
},{
61
,
45
,
16
},{
64
,
68
,
78
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z88_CNG6
[
6
][
3
]
=
{{
79
,
47
,
48
},{
84
,
66
,
37
},{
35
,
10
,
24
},{
15
,
67
,
47
},{
60
,
29
,
55
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z96_CNG6
[
6
][
3
]
=
{{
10
,
33
,
80
},{
44
,
92
,
90
},{
25
,
4
,
16
},{
80
,
49
,
6
},{
48
,
88
,
47
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z104_CNG6
[
6
][
3
]
=
{{
32
,
7
,
59
},{
49
,
34
,
78
},{
36
,
94
,
39
},{
28
,
64
,
3
},{
62
,
12
,
58
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z112_CNG6
[
6
][
3
]
=
{{
73
,
11
,
103
},{
26
,
55
,
13
},{
58
,
31
,
105
},{
107
,
110
,
38
},{
81
,
97
,
69
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z120_CNG6
[
6
][
3
]
=
{{
1
,
17
,
86
},{
41
,
72
,
66
},{
49
,
52
,
87
},{
88
,
4
,
52
},{
87
,
56
,
34
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z128_CNG6
[
6
][
3
]
=
{{
103
,
27
,
1
},{
41
,
100
,
19
},{
66
,
45
,
12
},{
31
,
28
,
3
},{
103
,
30
,
116
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z144_CNG6
[
6
][
3
]
=
{{
40
,
109
,
97
},{
140
,
87
,
135
},{
84
,
107
,
35
},{
137
,
133
,
108
},{
71
,
139
,
65
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z160_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
131
,
124
,
45
},{
142
,
99
,
148
},{
141
,
45
,
96
},{
64
,
148
,
78
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z176_CNG6
[
6
][
3
]
=
{{
79
,
47
,
48
},{
84
,
154
,
125
},{
35
,
10
,
24
},{
103
,
155
,
47
},{
60
,
29
,
55
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z192_CNG6
[
6
][
3
]
=
{{
10
,
129
,
80
},{
44
,
92
,
186
},{
121
,
100
,
16
},{
80
,
49
,
102
},{
48
,
184
,
143
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z208_CNG6
[
6
][
3
]
=
{{
136
,
7
,
163
},{
49
,
34
,
78
},{
36
,
198
,
143
},{
132
,
168
,
107
},{
62
,
12
,
58
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z224_CNG6
[
6
][
3
]
=
{{
185
,
123
,
103
},{
138
,
55
,
13
},{
170
,
31
,
105
},{
219
,
222
,
150
},{
193
,
209
,
181
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z240_CNG6
[
6
][
3
]
=
{{
121
,
137
,
86
},{
41
,
72
,
186
},{
169
,
172
,
87
},{
88
,
124
,
172
},{
207
,
56
,
154
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z256_CNG6
[
6
][
3
]
=
{{
231
,
155
,
129
},{
41
,
228
,
147
},{
194
,
45
,
140
},{
159
,
28
,
3
},{
103
,
158
,
116
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z288_CNG6
[
6
][
3
]
=
{{
40
,
109
,
97
},{
140
,
87
,
135
},{
84
,
107
,
35
},{
137
,
133
,
108
},{
71
,
139
,
65
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z320_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
131
,
124
,
45
},{
142
,
99
,
148
},{
141
,
45
,
96
},{
64
,
148
,
78
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z352_CNG6
[
6
][
3
]
=
{{
79
,
47
,
48
},{
84
,
154
,
125
},{
35
,
10
,
24
},{
103
,
155
,
47
},{
60
,
29
,
55
},{
0
,
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z384_CNG6
[
6
][
3
]
=
{{
10
,
129
,
80
},{
44
,
92
,
186
},{
121
,
100
,
16
},{
80
,
49
,
102
},{
48
,
184
,
143
},{
0
,
0
,
0
}};
// CNG8
static
const
uint16_t
circShift_BG2_Z2_CNG8
[
8
][
2
]
=
{{
1
,
1
},{
1
,
0
},{
0
,
0
},{
0
,
0
},{
1
,
0
},{
1
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z3_CNG8
[
8
][
2
]
=
{{
0
,
1
},{
1
,
0
},{
1
,
0
},{
0
,
2
},{
2
,
0
},{
1
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z4_CNG8
[
8
][
2
]
=
{{
1
,
1
},{
1
,
2
},{
0
,
0
},{
2
,
0
},{
1
,
0
},{
1
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z5_CNG8
[
8
][
2
]
=
{{
0
,
0
},{
0
,
4
},{
0
,
4
},{
0
,
4
},{
0
,
3
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z6_CNG8
[
8
][
2
]
=
{{
0
,
1
},{
1
,
0
},{
4
,
3
},{
0
,
2
},{
5
,
0
},{
4
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z7_CNG8
[
8
][
2
]
=
{{
2
,
5
},{
5
,
5
},{
2
,
4
},{
6
,
2
},{
4
,
0
},{
1
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z8_CNG8
[
8
][
2
]
=
{{
1
,
1
},{
5
,
2
},{
4
,
4
},{
2
,
4
},{
5
,
0
},{
5
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z9_CNG8
[
8
][
2
]
=
{{
3
,
5
},{
8
,
7
},{
8
,
2
},{
8
,
2
},{
7
,
3
},{
1
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z10_CNG8
[
8
][
2
]
=
{{
0
,
0
},{
0
,
4
},{
0
,
9
},{
0
,
9
},{
0
,
8
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z11_CNG8
[
8
][
2
]
=
{{
2
,
10
},{
0
,
3
},{
3
,
8
},{
3
,
5
},{
7
,
10
},{
2
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z12_CNG8
[
8
][
2
]
=
{{
6
,
1
},{
1
,
6
},{
10
,
9
},{
6
,
2
},{
11
,
6
},{
4
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z13_CNG8
[
8
][
2
]
=
{{
0
,
9
},{
6
,
7
},{
7
,
8
},{
9
,
1
},{
1
,
2
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z14_CNG8
[
8
][
2
]
=
{{
2
,
12
},{
12
,
5
},{
9
,
4
},{
13
,
9
},{
11
,
7
},{
8
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z15_CNG8
[
8
][
2
]
=
{{
10
,
14
},{
11
,
1
},{
11
,
3
},{
6
,
8
},{
8
,
5
},{
7
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z16_CNG8
[
8
][
2
]
=
{{
9
,
1
},{
5
,
2
},{
12
,
12
},{
10
,
4
},{
13
,
0
},{
13
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z18_CNG8
[
8
][
2
]
=
{{
3
,
5
},{
8
,
16
},{
17
,
2
},{
17
,
2
},{
7
,
3
},{
1
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z20_CNG8
[
8
][
2
]
=
{{
0
,
0
},{
0
,
14
},{
0
,
19
},{
0
,
9
},{
0
,
8
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z22_CNG8
[
8
][
2
]
=
{{
2
,
10
},{
11
,
14
},{
14
,
19
},{
3
,
16
},{
18
,
10
},{
13
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z24_CNG8
[
8
][
2
]
=
{{
6
,
1
},{
1
,
18
},{
22
,
21
},{
18
,
14
},{
23
,
18
},{
4
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z26_CNG8
[
8
][
2
]
=
{{
13
,
22
},{
19
,
7
},{
20
,
21
},{
9
,
1
},{
14
,
2
},{
13
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z28_CNG8
[
8
][
2
]
=
{{
16
,
12
},{
26
,
19
},{
23
,
18
},{
13
,
23
},{
11
,
7
},{
8
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z30_CNG8
[
8
][
2
]
=
{{
25
,
14
},{
11
,
1
},{
11
,
3
},{
21
,
23
},{
23
,
5
},{
22
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z32_CNG8
[
8
][
2
]
=
{{
9
,
17
},{
21
,
18
},{
12
,
12
},{
26
,
20
},{
29
,
16
},{
13
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z36_CNG8
[
8
][
2
]
=
{{
3
,
23
},{
26
,
34
},{
17
,
20
},{
35
,
2
},{
7
,
3
},{
19
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z40_CNG8
[
8
][
2
]
=
{{
0
,
20
},{
0
,
14
},{
0
,
19
},{
0
,
9
},{
0
,
28
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z44_CNG8
[
8
][
2
]
=
{{
24
,
10
},{
11
,
36
},{
14
,
19
},{
3
,
38
},{
40
,
10
},{
35
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z48_CNG8
[
8
][
2
]
=
{{
30
,
25
},{
1
,
18
},{
22
,
21
},{
18
,
14
},{
23
,
18
},{
28
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z52_CNG8
[
8
][
2
]
=
{{
39
,
22
},{
19
,
7
},{
20
,
47
},{
9
,
27
},{
40
,
28
},{
13
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z56_CNG8
[
8
][
2
]
=
{{
16
,
40
},{
54
,
19
},{
23
,
46
},{
13
,
23
},{
39
,
35
},{
8
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z60_CNG8
[
8
][
2
]
=
{{
25
,
14
},{
11
,
31
},{
11
,
3
},{
21
,
53
},{
23
,
35
},{
52
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z64_CNG8
[
8
][
2
]
=
{{
9
,
17
},{
53
,
50
},{
12
,
44
},{
26
,
52
},{
61
,
48
},{
13
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z72_CNG8
[
8
][
2
]
=
{{
3
,
23
},{
26
,
34
},{
53
,
20
},{
35
,
38
},{
43
,
39
},{
55
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z80_CNG8
[
8
][
2
]
=
{{
0
,
20
},{
0
,
14
},{
0
,
19
},{
0
,
9
},{
0
,
28
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z88_CNG8
[
8
][
2
]
=
{{
68
,
10
},{
55
,
80
},{
14
,
19
},{
3
,
82
},{
40
,
54
},{
35
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z96_CNG8
[
8
][
2
]
=
{{
78
,
25
},{
1
,
18
},{
70
,
21
},{
66
,
14
},{
71
,
18
},{
76
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z104_CNG8
[
8
][
2
]
=
{{
39
,
22
},{
19
,
59
},{
72
,
47
},{
61
,
79
},{
92
,
28
},{
13
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z112_CNG8
[
8
][
2
]
=
{{
72
,
40
},{
110
,
19
},{
23
,
46
},{
69
,
79
},{
95
,
91
},{
8
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z120_CNG8
[
8
][
2
]
=
{{
25
,
74
},{
11
,
31
},{
71
,
3
},{
21
,
53
},{
23
,
35
},{
112
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z128_CNG8
[
8
][
2
]
=
{{
9
,
81
},{
117
,
114
},{
76
,
44
},{
26
,
52
},{
61
,
112
},{
77
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z144_CNG8
[
8
][
2
]
=
{{
3
,
95
},{
26
,
106
},{
53
,
92
},{
35
,
110
},{
115
,
111
},{
127
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z160_CNG8
[
8
][
2
]
=
{{
0
,
20
},{
0
,
94
},{
0
,
99
},{
0
,
9
},{
0
,
108
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z176_CNG8
[
8
][
2
]
=
{{
156
,
98
},{
143
,
168
},{
14
,
107
},{
3
,
82
},{
40
,
142
},{
123
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z192_CNG8
[
8
][
2
]
=
{{
174
,
25
},{
97
,
114
},{
166
,
117
},{
66
,
110
},{
71
,
114
},{
172
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z208_CNG8
[
8
][
2
]
=
{{
143
,
126
},{
19
,
163
},{
176
,
47
},{
165
,
183
},{
196
,
132
},{
13
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z224_CNG8
[
8
][
2
]
=
{{
72
,
152
},{
110
,
131
},{
23
,
46
},{
181
,
191
},{
95
,
91
},{
8
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z240_CNG8
[
8
][
2
]
=
{{
145
,
74
},{
131
,
31
},{
71
,
3
},{
21
,
53
},{
23
,
155
},{
112
,
0
},{
1
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z256_CNG8
[
8
][
2
]
=
{{
9
,
81
},{
117
,
114
},{
204
,
44
},{
26
,
52
},{
189
,
240
},{
205
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z288_CNG8
[
8
][
2
]
=
{{
3
,
95
},{
26
,
106
},{
53
,
92
},{
35
,
110
},{
115
,
111
},{
127
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z320_CNG8
[
8
][
2
]
=
{{
0
,
20
},{
0
,
94
},{
0
,
99
},{
0
,
9
},{
0
,
108
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z352_CNG8
[
8
][
2
]
=
{{
156
,
98
},{
143
,
168
},{
14
,
107
},{
3
,
82
},{
40
,
142
},{
123
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z384_CNG8
[
8
][
2
]
=
{{
174
,
25
},{
97
,
114
},{
166
,
117
},{
66
,
110
},{
71
,
114
},{
172
,
1
},{
0
,
0
},{
0
,
0
}};
// CNG10
static
const
uint16_t
circShift_BG2_Z2_CNG10
[
10
][
2
]
=
{{
1
,
0
},{
0
,
0
},{
1
,
0
},{
1
,
0
},{
0
,
1
},{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z3_CNG10
[
10
][
2
]
=
{{
0
,
1
},{
0
,
1
},{
0
,
2
},{
2
,
0
},{
1
,
0
},{
1
,
1
},{
2
,
1
},{
0
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z4_CNG10
[
10
][
2
]
=
{{
3
,
0
},{
2
,
2
},{
1
,
2
},{
1
,
0
},{
2
,
1
},{
0
,
2
},{
0
,
2
},{
0
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z5_CNG10
[
10
][
2
]
=
{{
2
,
3
},{
4
,
0
},{
0
,
2
},{
0
,
1
},{
3
,
2
},{
0
,
2
},{
0
,
3
},{
0
,
1
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z6_CNG10
[
10
][
2
]
=
{{
3
,
4
},{
0
,
1
},{
0
,
5
},{
2
,
0
},{
1
,
3
},{
1
,
4
},{
5
,
4
},{
3
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z7_CNG10
[
10
][
2
]
=
{{
4
,
3
},{
2
,
6
},{
3
,
1
},{
2
,
5
},{
3
,
5
},{
4
,
5
},{
1
,
2
},{
3
,
0
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z8_CNG10
[
10
][
2
]
=
{{
7
,
0
},{
6
,
2
},{
5
,
6
},{
5
,
0
},{
2
,
1
},{
4
,
6
},{
0
,
2
},{
4
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z9_CNG10
[
10
][
2
]
=
{{
1
,
3
},{
4
,
4
},{
5
,
4
},{
3
,
4
},{
3
,
1
},{
8
,
4
},{
6
,
2
},{
5
,
7
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z10_CNG10
[
10
][
2
]
=
{{
7
,
8
},{
4
,
5
},{
0
,
2
},{
0
,
6
},{
8
,
2
},{
0
,
7
},{
0
,
3
},{
5
,
6
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z11_CNG10
[
10
][
2
]
=
{{
6
,
9
},{
10
,
9
},{
8
,
9
},{
1
,
6
},{
0
,
6
},{
4
,
1
},{
6
,
6
},{
1
,
6
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z12_CNG10
[
10
][
2
]
=
{{
3
,
4
},{
0
,
7
},{
0
,
5
},{
8
,
0
},{
7
,
3
},{
7
,
10
},{
5
,
4
},{
3
,
6
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z13_CNG10
[
10
][
2
]
=
{{
5
,
10
},{
1
,
9
},{
3
,
5
},{
11
,
7
},{
3
,
8
},{
4
,
3
},{
1
,
9
},{
11
,
4
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z14_CNG10
[
10
][
2
]
=
{{
11
,
3
},{
2
,
6
},{
3
,
8
},{
2
,
12
},{
3
,
12
},{
4
,
12
},{
1
,
2
},{
3
,
7
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z15_CNG10
[
10
][
2
]
=
{{
7
,
14
},{
9
,
6
},{
3
,
5
},{
12
,
5
},{
6
,
9
},{
8
,
4
},{
9
,
13
},{
2
,
0
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z16_CNG10
[
10
][
2
]
=
{{
7
,
8
},{
6
,
10
},{
13
,
14
},{
13
,
8
},{
2
,
1
},{
12
,
6
},{
0
,
2
},{
12
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z18_CNG10
[
10
][
2
]
=
{{
1
,
12
},{
4
,
13
},{
14
,
4
},{
12
,
4
},{
12
,
1
},{
8
,
13
},{
15
,
2
},{
14
,
7
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z20_CNG10
[
10
][
2
]
=
{{
17
,
18
},{
4
,
15
},{
0
,
2
},{
0
,
6
},{
8
,
12
},{
0
,
17
},{
0
,
13
},{
15
,
6
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z22_CNG10
[
10
][
2
]
=
{{
17
,
9
},{
21
,
20
},{
19
,
20
},{
1
,
17
},{
11
,
17
},{
15
,
1
},{
17
,
17
},{
1
,
17
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z24_CNG10
[
10
][
2
]
=
{{
3
,
16
},{
12
,
7
},{
0
,
17
},{
20
,
0
},{
7
,
3
},{
19
,
22
},{
17
,
4
},{
3
,
18
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z26_CNG10
[
10
][
2
]
=
{{
18
,
10
},{
1
,
22
},{
3
,
18
},{
24
,
7
},{
3
,
21
},{
17
,
3
},{
14
,
9
},{
24
,
4
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z28_CNG10
[
10
][
2
]
=
{{
25
,
17
},{
16
,
6
},{
3
,
8
},{
16
,
12
},{
3
,
12
},{
4
,
26
},{
1
,
16
},{
3
,
21
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z30_CNG10
[
10
][
2
]
=
{{
22
,
29
},{
24
,
21
},{
3
,
5
},{
27
,
20
},{
6
,
9
},{
23
,
19
},{
9
,
13
},{
17
,
15
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z32_CNG10
[
10
][
2
]
=
{{
7
,
8
},{
6
,
26
},{
29
,
30
},{
29
,
8
},{
2
,
17
},{
28
,
22
},{
0
,
18
},{
28
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z36_CNG10
[
10
][
2
]
=
{{
19
,
12
},{
22
,
13
},{
32
,
22
},{
30
,
4
},{
12
,
1
},{
26
,
13
},{
33
,
20
},{
14
,
7
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z40_CNG10
[
10
][
2
]
=
{{
17
,
38
},{
4
,
15
},{
0
,
22
},{
0
,
26
},{
8
,
12
},{
0
,
17
},{
0
,
13
},{
15
,
6
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z44_CNG10
[
10
][
2
]
=
{{
17
,
9
},{
21
,
42
},{
19
,
42
},{
1
,
39
},{
11
,
17
},{
37
,
1
},{
39
,
17
},{
1
,
17
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z48_CNG10
[
10
][
2
]
=
{{
27
,
40
},{
36
,
31
},{
0
,
17
},{
44
,
24
},{
31
,
27
},{
43
,
22
},{
41
,
28
},{
3
,
42
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z52_CNG10
[
10
][
2
]
=
{{
18
,
36
},{
27
,
48
},{
3
,
18
},{
50
,
7
},{
29
,
47
},{
17
,
3
},{
14
,
35
},{
24
,
4
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z56_CNG10
[
10
][
2
]
=
{{
53
,
17
},{
44
,
6
},{
3
,
36
},{
44
,
12
},{
3
,
12
},{
32
,
54
},{
29
,
44
},{
31
,
21
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z60_CNG10
[
10
][
2
]
=
{{
22
,
59
},{
54
,
51
},{
3
,
35
},{
27
,
50
},{
36
,
39
},{
23
,
19
},{
9
,
43
},{
47
,
15
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z64_CNG10
[
10
][
2
]
=
{{
39
,
8
},{
38
,
58
},{
61
,
30
},{
61
,
40
},{
34
,
17
},{
28
,
54
},{
32
,
18
},{
60
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z72_CNG10
[
10
][
2
]
=
{{
19
,
48
},{
22
,
49
},{
32
,
22
},{
66
,
4
},{
12
,
1
},{
26
,
49
},{
69
,
56
},{
50
,
7
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z80_CNG10
[
10
][
2
]
=
{{
57
,
38
},{
44
,
15
},{
0
,
22
},{
0
,
66
},{
8
,
12
},{
0
,
57
},{
0
,
53
},{
55
,
46
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z88_CNG10
[
10
][
2
]
=
{{
17
,
53
},{
65
,
86
},{
63
,
86
},{
1
,
39
},{
55
,
17
},{
37
,
1
},{
83
,
17
},{
45
,
17
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z96_CNG10
[
10
][
2
]
=
{{
27
,
40
},{
36
,
79
},{
48
,
17
},{
92
,
72
},{
31
,
27
},{
91
,
22
},{
89
,
28
},{
3
,
90
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z104_CNG10
[
10
][
2
]
=
{{
18
,
36
},{
27
,
48
},{
3
,
18
},{
102
,
7
},{
81
,
99
},{
17
,
3
},{
14
,
87
},{
76
,
56
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z112_CNG10
[
10
][
2
]
=
{{
53
,
73
},{
44
,
6
},{
3
,
36
},{
44
,
12
},{
3
,
12
},{
88
,
110
},{
29
,
44
},{
31
,
21
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z120_CNG10
[
10
][
2
]
=
{{
22
,
119
},{
54
,
51
},{
63
,
95
},{
27
,
110
},{
96
,
39
},{
23
,
79
},{
9
,
43
},{
47
,
75
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z128_CNG10
[
10
][
2
]
=
{{
39
,
8
},{
38
,
58
},{
125
,
30
},{
125
,
104
},{
98
,
81
},{
28
,
54
},{
96
,
18
},{
124
,
0
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z144_CNG10
[
10
][
2
]
=
{{
19
,
120
},{
94
,
121
},{
104
,
22
},{
66
,
4
},{
84
,
73
},{
98
,
49
},{
69
,
128
},{
50
,
79
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z160_CNG10
[
10
][
2
]
=
{{
137
,
38
},{
124
,
15
},{
0
,
102
},{
0
,
146
},{
88
,
12
},{
0
,
57
},{
0
,
53
},{
55
,
46
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z176_CNG10
[
10
][
2
]
=
{{
17
,
53
},{
65
,
174
},{
63
,
174
},{
1
,
127
},{
55
,
17
},{
37
,
89
},{
171
,
17
},{
133
,
105
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z192_CNG10
[
10
][
2
]
=
{{
27
,
136
},{
36
,
175
},{
48
,
113
},{
92
,
72
},{
31
,
123
},{
187
,
118
},{
185
,
28
},{
3
,
186
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z208_CNG10
[
10
][
2
]
=
{{
18
,
36
},{
27
,
48
},{
3
,
18
},{
102
,
111
},{
185
,
203
},{
17
,
3
},{
14
,
191
},{
180
,
160
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z224_CNG10
[
10
][
2
]
=
{{
53
,
185
},{
156
,
6
},{
115
,
36
},{
156
,
124
},{
115
,
124
},{
200
,
110
},{
29
,
156
},{
31
,
133
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z240_CNG10
[
10
][
2
]
=
{{
142
,
239
},{
174
,
171
},{
183
,
95
},{
27
,
110
},{
96
,
159
},{
23
,
199
},{
9
,
43
},{
167
,
75
},{
0
,
1
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z256_CNG10
[
10
][
2
]
=
{{
167
,
8
},{
166
,
58
},{
253
,
158
},{
125
,
104
},{
226
,
209
},{
156
,
54
},{
224
,
18
},{
252
,
128
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z288_CNG10
[
10
][
2
]
=
{{
19
,
120
},{
94
,
121
},{
104
,
22
},{
66
,
4
},{
84
,
73
},{
98
,
49
},{
69
,
128
},{
50
,
79
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z320_CNG10
[
10
][
2
]
=
{{
137
,
38
},{
124
,
15
},{
0
,
102
},{
0
,
146
},{
88
,
12
},{
0
,
57
},{
0
,
53
},{
55
,
46
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z352_CNG10
[
10
][
2
]
=
{{
17
,
53
},{
65
,
174
},{
63
,
174
},{
1
,
127
},{
55
,
17
},{
37
,
89
},{
171
,
17
},{
133
,
105
},{
0
,
0
},{
0
,
0
}};
static
const
uint16_t
circShift_BG2_Z384_CNG10
[
10
][
2
]
=
{{
27
,
136
},{
36
,
175
},{
48
,
113
},{
92
,
72
},{
31
,
123
},{
187
,
118
},{
185
,
28
},{
3
,
186
},{
0
,
0
},{
0
,
0
}};
// Startaddressses in the BN buffer of the different CN groups
// BG1
// Group of CNs with 3 BNs (CNG3) / only this group is independent of Z
...
...
@@ -580,6 +894,59 @@ static const uint8_t bnPosBnProcBuf_BG1_R23_CNG19[19][4] = {{0, 0, 0, 0},{0, 0,
static
const
uint32_t
startAddrBnProcBuf_BG1_R89_CNG19
[
19
][
4
]
=
{{
28416
,
28800
,
29184
,
29568
},{
26880
,
10752
,
27264
,
27648
},{
2688
,
10752
,
18816
,
18816
},{
2688
,
2688
,
10752
,
18816
},{
2688
,
10752
,
18816
,
18816
},{
2688
,
2688
,
10752
,
18816
},{
2688
,
2688
,
10752
,
18816
},{
2688
,
10752
,
10752
,
18816
},{
2688
,
10752
,
18816
,
18816
},{
2688
,
10752
,
10752
,
18816
},{
2688
,
2688
,
10752
,
18816
},{
2688
,
10752
,
10752
,
18816
},{
2688
,
10752
,
18816
,
18816
},{
2688
,
2688
,
10752
,
18816
},{
2688
,
10752
,
10752
,
18816
},{
2688
,
10752
,
18816
,
18816
},{
2688
,
10752
,
10752
,
18816
},{
2688
,
1536
,
1536
,
18816
},{
384
,
384
,
384
,
1536
}};
static
const
uint8_t
bnPosBnProcBuf_BG1_R89_CNG19
[
19
][
4
]
=
{{
0
,
0
,
0
,
0
},{
0
,
0
,
0
,
0
},{
0
,
1
,
0
,
1
},{
1
,
2
,
2
,
2
},{
3
,
3
,
3
,
4
},{
4
,
5
,
4
,
5
},{
7
,
6
,
5
,
6
},{
8
,
7
,
6
,
8
},{
9
,
9
,
7
,
9
},{
10
,
10
,
8
,
10
},{
11
,
12
,
11
,
11
},{
13
,
13
,
12
,
12
},{
14
,
14
,
13
,
14
},{
16
,
15
,
15
,
15
},{
17
,
17
,
16
,
16
},{
18
,
19
,
17
,
18
},{
19
,
20
,
18
,
19
},{
20
,
0
,
1
,
20
},{
0
,
1
,
2
,
2
}};
// BG2
// CNG3
static
const
uint32_t
startAddrBnProcBuf_BG2_R15_CNG3
[
3
][
6
]
=
{{
72960
,
64128
,
64512
,
64896
,
74112
,
31872
},{
34176
,
49536
,
23040
,
17664
,
40320
,
41088
},{
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R15_CNG3
[
3
][
6
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
},{
0
,
0
,
0
,
1
,
0
,
0
},{
18
,
21
,
23
,
25
,
27
,
33
}};
// CNG4
// R15
static
const
uint32_t
startAddrBnProcBuf_BG2_R15_CNG4
[
4
][
20
]
=
{{
59520
,
60672
,
70272
,
62208
,
62592
,
62976
,
72576
,
63360
,
63744
,
73344
,
73728
,
65280
,
36096
,
65664
,
74496
,
66048
,
74880
,
66432
,
36864
,
75264
},{
67968
,
69120
,
16896
,
29568
,
22656
,
72192
,
16896
,
20352
,
17664
,
34560
,
35328
,
50688
,
45696
,
31872
,
51072
,
36480
,
51456
,
46464
,
32640
,
51840
},{
52992
,
28032
,
54912
,
55680
,
44544
,
30336
,
56832
,
39552
,
49152
,
25728
,
49920
,
31104
,
31104
,
40704
,
57216
,
46080
,
57600
,
32640
,
41472
,
57984
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R15_CNG4
[
4
][
20
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
},{
0
,
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
0
,
1
,
0
,
0
},{
0
,
4
,
8
,
11
,
14
,
15
,
16
,
17
,
19
,
20
,
24
,
28
,
29
,
30
,
31
,
32
,
34
,
35
,
36
,
37
}};
// R13
static
const
uint32_t
startAddrBnProcBuf_BG2_R13_CNG4
[
4
][
8
]
=
{{
36096
,
37248
,
43776
,
38784
,
39168
,
39552
,
46080
,
39936
},{
41472
,
42624
,
9984
,
20352
,
22272
,
45696
,
9984
,
22272
},{
30720
,
11520
,
32640
,
33408
,
29568
,
22272
,
34560
,
26496
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R13_CNG4
[
4
][
8
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
0
,
0
,
0
,
4
,
1
,
0
,
1
,
2
},{
0
,
0
,
0
,
0
,
0
,
4
,
0
,
0
},{
0
,
4
,
8
,
11
,
14
,
15
,
16
,
17
}};
// R23
static
const
uint32_t
startAddrBnProcBuf_BG2_R23_CNG4
[
4
][
1
]
=
{{
18816
},{
16128
},{
15360
},{
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R23_CNG4
[
4
][
1
]
=
{{
0
},{
0
},{
1
},{
0
}};
// CNG5
// R15
static
const
uint32_t
startAddrBnProcBuf_BG2_R15_CNG5
[
5
][
9
]
=
{{
69504
,
61056
,
61440
,
61824
,
71040
,
71424
,
71808
,
34944
,
35712
},{
19584
,
69888
,
44160
,
70656
,
22272
,
25344
,
48768
,
44928
,
50304
},{
28800
,
21888
,
24960
,
19968
,
55296
,
56064
,
56448
,
30336
,
45312
},{
54528
,
43776
,
38400
,
38784
,
39168
,
28800
,
29568
,
39936
,
26112
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R15_CNG5
[
5
][
9
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
1
,
0
},{
0
,
0
,
0
,
0
,
0
,
1
,
1
,
0
,
0
},{
5
,
6
,
7
,
9
,
10
,
12
,
13
,
22
,
26
}};
// R13
static
const
uint32_t
startAddrBnProcBuf_BG2_R13_CNG5
[
5
][
7
]
=
{{
43008
,
37632
,
38016
,
38400
,
44544
,
44928
,
45312
},{
18432
,
43392
,
29184
,
44160
,
20352
,
22272
,
22272
},{
18432
,
18432
,
20352
,
20352
,
33024
,
33792
,
34176
},{
32256
,
28800
,
25344
,
25728
,
26112
,
11904
,
12288
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R13_CNG5
[
5
][
7
]
=
{{
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
2
,
0
,
0
,
0
,
1
,
3
,
0
},{
4
,
1
,
3
,
2
,
0
,
0
,
0
},{
0
,
0
,
0
,
0
,
0
,
0
,
0
},{
5
,
6
,
7
,
9
,
10
,
12
,
13
}};
// R23
// none
// CNG6
// R15
static
const
uint32_t
startAddrBnProcBuf_BG2_R15_CNG6
[
6
][
3
]
=
{{
59904
,
60288
,
68736
},{
68352
,
48000
,
48384
},{
47616
,
43008
,
43392
},{
42624
,
24576
,
54144
},{
53376
,
53760
,
38016
},{
0
,
0
,
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R15_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
0
,
0
,
0
},{
0
,
0
,
0
},{
0
,
0
,
0
},{
0
,
0
,
0
},{
1
,
2
,
3
}};
// R13
static
const
uint32_t
startAddrBnProcBuf_BG2_R13_CNG6
[
6
][
3
]
=
{{
36480
,
36864
,
42240
},{
41856
,
18432
,
20352
},{
16512
,
28032
,
28416
},{
27648
,
18432
,
31872
},{
31104
,
31488
,
24960
},{
0
,
0
,
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R13_CNG6
[
6
][
3
]
=
{{
0
,
0
,
0
},{
0
,
0
,
0
},{
0
,
0
,
0
},{
0
,
3
,
0
},{
0
,
0
,
0
},{
1
,
2
,
3
}};
// R23
static
const
uint32_t
startAddrBnProcBuf_BG2_R23_CNG6
[
6
][
2
]
=
{{
19200
,
19584
},{
16896
,
12672
},{
11520
,
12672
},{
11520
,
12672
},{
16128
,
16896
},{
0
,
0
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R23_CNG6
[
6
][
2
]
=
{{
0
,
0
},{
0
,
0
},{
0
,
1
},{
1
,
2
},{
1
,
1
},{
1
,
2
}};
// CNG8
// R15
static
const
uint32_t
startAddrBnProcBuf_BG2_R15_CNG8
[
8
][
2
]
=
{{
58368
,
59136
},{
66816
,
67200
},{
33408
,
16128
},{
14592
,
15360
},{
20736
,
18816
},{
23424
,
27264
},{
26496
,
27264
},{
52224
,
37248
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R15_CNG8
[
8
][
2
]
=
{{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
1
},{
0
,
0
},{
0
,
0
},{
0
,
1
},{
0
,
0
}};
// R13
static
const
uint32_t
startAddrBnProcBuf_BG2_R13_CNG8
[
8
][
2
]
=
{{
34944
,
35712
},{
40320
,
40704
},{
6912
,
9216
},{
7680
,
8448
},{
12672
,
14592
},{
12672
,
14592
},{
12672
,
11136
},{
29952
,
24192
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R13_CNG8
[
8
][
2
]
=
{{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
1
},{
1
,
2
},{
3
,
4
},{
4
,
0
},{
0
,
0
}};
// R23
static
const
uint32_t
startAddrBnProcBuf_BG2_R23_CNG8
[
8
][
2
]
=
{{
17664
,
18432
},{
13824
,
14592
},{
1152
,
7296
},{
3456
,
5376
},{
3456
,
5376
},{
9216
,
5376
},{
3456
,
2304
},{
13824
,
1152
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R23_CNG8
[
8
][
2
]
=
{{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
1
},{
2
,
3
},{
2
,
4
},{
4
,
1
},{
1
,
2
}};
// CNG10
// R15
static
const
uint32_t
startAddrBnProcBuf_BG2_R15_CNG10
[
10
][
2
]
=
{{
58752
,
67584
},{
15360
,
33792
},{
14592
,
16128
},{
46848
,
47232
},{
21120
,
21504
},{
41856
,
42240
},{
18432
,
19200
},{
23808
,
24192
},{
52608
,
28032
},{
26496
,
37632
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R15_CNG10
[
10
][
2
]
=
{{
0
,
0
},{
0
,
0
},{
1
,
1
},{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
0
},{
0
,
0
},{
1
,
0
}};
// R13
static
const
uint32_t
startAddrBnProcBuf_BG2_R13_CNG10
[
10
][
2
]
=
{{
35328
,
41088
},{
8448
,
7296
},{
7680
,
9216
},{
12672
,
14592
},{
14592
,
16512
},{
26880
,
27264
},{
12672
,
16512
},{
14592
,
16512
},{
30336
,
16512
},{
10752
,
24576
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R13_CNG10
[
10
][
2
]
=
{{
0
,
0
},{
0
,
0
},{
1
,
1
},{
0
,
0
},{
1
,
1
},{
0
,
0
},{
2
,
2
},{
3
,
3
},{
0
,
4
},{
0
,
0
}};
// R23
static
const
uint32_t
startAddrBnProcBuf_BG2_R23_CNG10
[
10
][
2
]
=
{{
18048
,
15360
},{
5376
,
2304
},{
3456
,
7296
},{
9216
,
10368
},{
5376
,
7296
},{
9216
,
10368
},{
3456
,
7296
},{
10368
,
11520
},{
14592
,
7296
},{
1152
,
2304
}};
static
const
uint8_t
bnPosBnProcBuf_BG2_R23_CNG10
[
10
][
2
]
=
{{
0
,
0
},{
0
,
0
},{
1
,
1
},{
0
,
0
},{
2
,
2
},{
1
,
1
},{
3
,
3
},{
2
,
2
},{
1
,
4
},{
1
,
2
}};
// LUT for llr2llrProcBuf
// BG1
...
...
@@ -596,6 +963,20 @@ static const uint16_t llr2llrProcBufAddr_BG1_R89[4] = {9984,9600,1536,384};
static
const
uint8_t
llr2llrProcBufNumBn_BG1_R89
[
4
]
=
{
1
,
1
,
21
,
3
};
static
const
uint8_t
llr2llrProcBufNumEl_BG1_R89
=
4
;
// BG2
// R15
static
const
uint16_t
llr2llrProcBufAddr_BG2_R15
[
13
]
=
{
19200
,
19584
,
17280
,
14592
,
18432
,
15744
,
18048
,
15360
,
16128
,
16512
,
18816
,
16896
,
17664
};
static
const
uint8_t
llr2llrProcBufNumBn_BG2_R15
[
13
]
=
{
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
1
};
static
const
uint8_t
llr2llrProcBufNumEl_BG2_R15
=
13
;
// R13
static
const
uint16_t
llr2llrProcBufAddr_BG2_R13
[
10
]
=
{
11520
,
11904
,
6912
,
7296
,
8448
,
10752
,
9216
,
11136
,
8064
,
10368
};
static
const
uint8_t
llr2llrProcBufNumBn_BG2_R13
[
10
]
=
{
1
,
1
,
1
,
2
,
2
,
1
,
3
,
1
,
1
,
1
};
static
const
uint8_t
llr2llrProcBufNumEl_BG2_R13
=
10
;
// R23
static
const
uint16_t
llr2llrProcBufAddr_BG2_R23
[
12
]
=
{
6144
,
5376
,
1152
,
2304
,
4224
,
3072
,
4608
,
3456
,
4992
,
3840
,
5760
,
1536
};
static
const
uint8_t
llr2llrProcBufNumBn_BG2_R23
[
12
]
=
{
1
,
1
,
1
,
2
,
1
,
1
,
1
,
1
,
1
,
1
,
1
,
2
};
static
const
uint8_t
llr2llrProcBufNumEl_BG2_R23
=
12
;
// LUT for llr2cnProcBuf
// LUTs are not rate dependent, however the number of CN in a CNG varies with rate
// CNG3
...
...
@@ -618,6 +999,13 @@ static const uint8_t posBnInCnProcBuf_BG1_CNG10[10][1] = {{0},{1},{3},{12},{16},
// CNG19
static
const
uint8_t
posBnInCnProcBuf_BG1_CNG19
[
19
][
4
]
=
{{
0
,
0
,
0
,
0
},{
1
,
2
,
1
,
1
},{
2
,
3
,
2
,
3
},{
3
,
4
,
4
,
4
},{
5
,
5
,
5
,
6
},{
6
,
7
,
6
,
7
},{
9
,
8
,
7
,
8
},{
10
,
9
,
8
,
10
},{
11
,
11
,
9
,
11
},{
12
,
12
,
10
,
12
},{
13
,
14
,
13
,
13
},{
15
,
15
,
14
,
14
},{
16
,
16
,
15
,
16
},{
18
,
17
,
17
,
17
},{
19
,
19
,
18
,
18
},{
20
,
21
,
19
,
20
},{
21
,
22
,
20
,
21
},{
22
,
23
,
24
,
22
},{
23
,
24
,
25
,
25
}};
// BG2
static
const
uint8_t
posBnInCnProcBuf_BG2_CNG3
[
3
][
6
]
=
{{
1
,
0
,
0
,
0
,
1
,
10
},{
2
,
5
,
6
,
4
,
13
,
13
},{
32
,
35
,
37
,
39
,
41
,
47
}};
static
const
uint8_t
posBnInCnProcBuf_BG2_CNG4
[
4
][
20
]
=
{{
0
,
0
,
1
,
0
,
0
,
0
,
1
,
0
,
0
,
1
,
1
,
0
,
2
,
0
,
1
,
0
,
1
,
0
,
2
,
1
},{
1
,
1
,
3
,
10
,
6
,
1
,
4
,
8
,
3
,
2
,
2
,
5
,
7
,
12
,
5
,
2
,
5
,
7
,
10
,
5
},{
11
,
12
,
11
,
11
,
7
,
10
,
11
,
13
,
5
,
9
,
5
,
12
,
10
,
13
,
11
,
7
,
11
,
12
,
13
,
11
},{
14
,
18
,
22
,
25
,
28
,
29
,
30
,
31
,
33
,
34
,
38
,
42
,
43
,
44
,
45
,
46
,
48
,
49
,
50
,
51
}};
static
const
uint8_t
posBnInCnProcBuf_BG2_CNG5
[
5
][
9
]
=
{{
1
,
0
,
0
,
0
,
1
,
1
,
1
,
2
,
2
},{
8
,
1
,
7
,
1
,
6
,
9
,
5
,
7
,
5
},{
10
,
6
,
9
,
8
,
11
,
11
,
11
,
12
,
7
},{
11
,
7
,
13
,
13
,
13
,
12
,
12
,
13
,
9
},{
19
,
20
,
21
,
23
,
24
,
26
,
27
,
36
,
40
}};
static
const
uint8_t
posBnInCnProcBuf_BG2_CNG6
[
6
][
3
]
=
{{
0
,
0
,
1
},{
1
,
5
,
5
},{
5
,
7
,
7
},{
7
,
9
,
11
},{
11
,
11
,
13
},{
15
,
16
,
17
}};
static
const
uint8_t
posBnInCnProcBuf_BG2_CNG8
[
8
][
2
]
=
{{
0
,
0
},{
1
,
1
},{
2
,
3
},{
3
,
4
},{
6
,
8
},{
9
,
10
},{
10
,
12
},{
11
,
13
}};
static
const
uint8_t
posBnInCnProcBuf_BG2_CNG10
[
10
][
2
]
=
{{
0
,
1
},{
3
,
2
},{
4
,
4
},{
5
,
5
},{
6
,
6
},{
7
,
7
},{
8
,
8
},{
9
,
9
},{
11
,
10
},{
12
,
13
}};
...
...
openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_mPass.h
View file @
a65f59c8
...
...
@@ -121,7 +121,7 @@ static inline void nrLDPC_llr2llrProcBuf(t_nrLDPC_lut* p_lut, int8_t* llr, t_nrL
\param Z Lifting size
\param BG Base graph
*/
static
inline
void
nrLDPC_llr2CnProcBuf
(
t_nrLDPC_lut
*
p_lut
,
int8_t
*
llr
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint16_t
Z
)
static
inline
void
nrLDPC_llr2CnProcBuf
_BG1
(
t_nrLDPC_lut
*
p_lut
,
int8_t
*
llr
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint16_t
Z
)
{
const
uint16_t
(
*
lut_circShift_CNG3
)
[
lut_numCnInCnGroups_BG1_R13
[
0
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG1_R13
[
0
]])
p_lut
->
circShift
[
0
];
const
uint16_t
(
*
lut_circShift_CNG4
)
[
lut_numCnInCnGroups_BG1_R13
[
1
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG1_R13
[
1
]])
p_lut
->
circShift
[
1
];
...
...
@@ -313,124 +313,277 @@ static inline void nrLDPC_llr2CnProcBuf(t_nrLDPC_lut* p_lut, int8_t* llr, t_nrLD
\param p_lut Pointer to decoder LUTs
\param Z Lifting size
*/
static
inline
void
nrLDPC_cn2bnProcBuf
(
t_nrLDPC_lut
*
p_lut
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint16_t
Z
)
static
inline
void
nrLDPC_llr2CnProcBuf_BG2
(
t_nrLDPC_lut
*
p_lut
,
int8_t
*
llr
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint16_t
Z
)
{
const
uint16_t
(
*
lut_circShift_CNG3
)
[
lut_numCnInCnGroups_BG2_R15
[
0
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
0
]])
p_lut
->
circShift
[
0
];
const
uint16_t
(
*
lut_circShift_CNG4
)
[
lut_numCnInCnGroups_BG2_R15
[
1
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
1
]])
p_lut
->
circShift
[
1
];
const
uint16_t
(
*
lut_circShift_CNG5
)
[
lut_numCnInCnGroups_BG2_R15
[
2
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
2
]])
p_lut
->
circShift
[
2
];
const
uint16_t
(
*
lut_circShift_CNG6
)
[
lut_numCnInCnGroups_BG2_R15
[
3
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
3
]])
p_lut
->
circShift
[
3
];
const
uint16_t
(
*
lut_circShift_CNG8
)
[
lut_numCnInCnGroups_BG2_R15
[
4
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
4
]])
p_lut
->
circShift
[
4
];
const
uint16_t
(
*
lut_circShift_CNG10
)
[
lut_numCnInCnGroups_BG2_R15
[
5
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
5
]])
p_lut
->
circShift
[
5
];
const
uint8_t
(
*
lut_posBnInCnProcBuf_CNG3
)
[
lut_numCnInCnGroups_BG2_R15
[
0
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
0
]])
p_lut
->
posBnInCnProcBuf
[
0
];
const
uint8_t
(
*
lut_posBnInCnProcBuf_CNG4
)
[
lut_numCnInCnGroups_BG2_R15
[
1
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
1
]])
p_lut
->
posBnInCnProcBuf
[
1
];
const
uint8_t
(
*
lut_posBnInCnProcBuf_CNG5
)
[
lut_numCnInCnGroups_BG2_R15
[
2
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
2
]])
p_lut
->
posBnInCnProcBuf
[
2
];
const
uint8_t
(
*
lut_posBnInCnProcBuf_CNG6
)
[
lut_numCnInCnGroups_BG2_R15
[
3
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
3
]])
p_lut
->
posBnInCnProcBuf
[
3
];
const
uint8_t
(
*
lut_posBnInCnProcBuf_CNG8
)
[
lut_numCnInCnGroups_BG2_R15
[
4
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
4
]])
p_lut
->
posBnInCnProcBuf
[
4
];
const
uint8_t
(
*
lut_posBnInCnProcBuf_CNG10
)
[
lut_numCnInCnGroups_BG2_R15
[
5
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
5
]])
p_lut
->
posBnInCnProcBuf
[
5
];
const
uint8_t
*
lut_numCnInCnGroups
=
p_lut
->
numCnInCnGroups
;
const
uint32_t
*
lut_startAddrCnGroups
=
p_lut
->
startAddrCnGroups
;
int8_t
*
cnProcBuf
=
p_procBuf
->
cnProcBuf
;
uint32_t
i
;
uint32_t
j
;
uint32_t
idxBn
=
0
;
int8_t
*
p_cnProcBuf
;
uint32_t
bitOffsetInGroup
;
// =====================================================================
// CN group with 3 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
0
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
3
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
0
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
0
];
i
++
)
{
idxBn
=
lut_posBnInCnProcBuf_CNG3
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
llr
[
idxBn
],
Z
,
lut_circShift_CNG3
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 4 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
1
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
4
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
1
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
1
];
i
++
)
{
idxBn
=
lut_posBnInCnProcBuf_CNG4
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
llr
[
idxBn
],
Z
,
lut_circShift_CNG4
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 5 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
2
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
5
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
2
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
2
];
i
++
)
{
idxBn
=
lut_posBnInCnProcBuf_CNG5
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
llr
[
idxBn
],
Z
,
lut_circShift_CNG5
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 6 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
3
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
6
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
3
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
3
];
i
++
)
{
idxBn
=
lut_posBnInCnProcBuf_CNG6
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
llr
[
idxBn
],
Z
,
lut_circShift_CNG6
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 8 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
4
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
8
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
4
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
4
];
i
++
)
{
idxBn
=
lut_posBnInCnProcBuf_CNG8
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
llr
[
idxBn
],
Z
,
lut_circShift_CNG8
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 10 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
5
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
10
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
5
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
5
];
i
++
)
{
idxBn
=
lut_posBnInCnProcBuf_CNG10
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
llr
[
idxBn
],
Z
,
lut_circShift_CNG10
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
}
/**
\brief Copies the values in the CN processing results buffer to their corresponding place in the BN processing buffer for BG2.
\param p_lut Pointer to decoder LUTs
\param Z Lifting size
*/
static
inline
void
nrLDPC_cn2bnProcBuf_BG2
(
t_nrLDPC_lut
*
p_lut
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint16_t
Z
)
{
const
uint32_t
*
lut_cn2bnProcBuf
=
p_lut
->
cn2bnProcBuf
;
const
uint8_t
*
lut_numCnInCnGroups
=
p_lut
->
numCnInCnGroups
;
const
uint32_t
*
lut_startAddrCnGroups
=
p_lut
->
startAddrCnGroups
;
const
uint16_t
(
*
lut_circShift_CNG3
)
[
lut_numCnInCnGroups_BG2_R15
[
0
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
0
]])
p_lut
->
circShift
[
0
];
const
uint16_t
(
*
lut_circShift_CNG4
)
[
lut_numCnInCnGroups_BG2_R15
[
1
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
1
]])
p_lut
->
circShift
[
1
];
const
uint16_t
(
*
lut_circShift_CNG5
)
[
lut_numCnInCnGroups_BG2_R15
[
2
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
2
]])
p_lut
->
circShift
[
2
];
const
uint16_t
(
*
lut_circShift_CNG6
)
[
lut_numCnInCnGroups_BG2_R15
[
3
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
3
]])
p_lut
->
circShift
[
3
];
const
uint16_t
(
*
lut_circShift_CNG8
)
[
lut_numCnInCnGroups_BG2_R15
[
4
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
4
]])
p_lut
->
circShift
[
4
];
const
uint16_t
(
*
lut_circShift_CNG10
)
[
lut_numCnInCnGroups_BG2_R15
[
5
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
5
]])
p_lut
->
circShift
[
5
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG3
)
[
lut_numCnInCnGroups
[
0
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
0
]])
p_lut
->
startAddrBnProcBuf
[
0
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG4
)
[
lut_numCnInCnGroups
[
1
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
1
]])
p_lut
->
startAddrBnProcBuf
[
1
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG5
)
[
lut_numCnInCnGroups
[
2
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
2
]])
p_lut
->
startAddrBnProcBuf
[
2
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG6
)
[
lut_numCnInCnGroups
[
3
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
3
]])
p_lut
->
startAddrBnProcBuf
[
3
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG8
)
[
lut_numCnInCnGroups
[
4
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
4
]])
p_lut
->
startAddrBnProcBuf
[
4
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG10
)
[
lut_numCnInCnGroups
[
5
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
5
]])
p_lut
->
startAddrBnProcBuf
[
5
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG3
)
[
lut_numCnInCnGroups
[
0
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
0
]])
p_lut
->
bnPosBnProcBuf
[
0
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG4
)
[
lut_numCnInCnGroups
[
1
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
1
]])
p_lut
->
bnPosBnProcBuf
[
1
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG5
)
[
lut_numCnInCnGroups
[
2
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
2
]])
p_lut
->
bnPosBnProcBuf
[
2
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG6
)
[
lut_numCnInCnGroups
[
3
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
3
]])
p_lut
->
bnPosBnProcBuf
[
3
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG8
)
[
lut_numCnInCnGroups
[
4
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
4
]])
p_lut
->
bnPosBnProcBuf
[
4
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG10
)
[
lut_numCnInCnGroups
[
5
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
5
]])
p_lut
->
bnPosBnProcBuf
[
5
];
int8_t
*
cnProcBufRes
=
p_procBuf
->
cnProcBufRes
;
int8_t
*
bnProcBuf
=
p_procBuf
->
bnProcBuf
;
const
uint32_t
*
p_lut_cn2bn
;
int8_t
*
p_cnProcBufRes
;
uint32_t
bitOffsetInGroup
;
uint32_t
i
;
uint32_t
j
;
uint32_t
M
;
uint32_t
idxBn
=
0
;
// =====================================================================
// CN group with 3 BNs
p_lut_cn2bn
=
&
lut_cn2bnProcBuf
[
0
];
M
=
lut_numCnInCnGroups
[
0
]
*
Z
;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
0
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
3
;
j
++
)
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
0
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
0
]
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
idxBn
=
lut_startAddrBnProcBuf_CNG3
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG3
[
j
][
i
]
*
Z
;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
lut_startAddrBnProcBuf_CNG3
[
j
][
i
]],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG3
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
// =====================================================================
// CN group with 4 BNs
p_lut_cn2bn
+=
(
M
*
3
);
// Number of elements of previous group
M
=
lut_numCnInCnGroups
[
1
]
*
Z
;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
1
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
4
;
j
++
)
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
1
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
1
]
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
idxBn
=
lut_startAddrBnProcBuf_CNG4
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG4
[
j
][
i
]
*
Z
;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG4
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
// =====================================================================
// CN group with 5 BNs
p_lut_cn2bn
+=
(
M
*
4
);
// Number of elements of previous group
M
=
lut_numCnInCnGroups
[
2
]
*
Z
;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
2
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
5
;
j
++
)
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
2
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
2
]
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
idxBn
=
lut_startAddrBnProcBuf_CNG5
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG5
[
j
][
i
]
*
Z
;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG5
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
// =====================================================================
// CN group with 6 BNs
p_lut_cn2bn
+=
(
M
*
5
);
// Number of elements of previous group
M
=
lut_numCnInCnGroups
[
3
]
*
Z
;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
3
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
6
;
j
++
)
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
3
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
3
]
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
idxBn
=
lut_startAddrBnProcBuf_CNG6
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG6
[
j
][
i
]
*
Z
;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG6
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
// =====================================================================
// CN group with 8 BNs
p_lut_cn2bn
+=
(
M
*
6
);
// Number of elements of previous group
M
=
lut_numCnInCnGroups
[
4
]
*
Z
;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
4
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
8
;
j
++
)
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
4
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
4
]
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
idxBn
=
lut_startAddrBnProcBuf_CNG8
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG8
[
j
][
i
]
*
Z
;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG8
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
// =====================================================================
// CN group with 10 BNs
p_lut_cn2bn
+=
(
M
*
8
);
// Number of elements of previous group
M
=
lut_numCnInCnGroups
[
5
]
*
Z
;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
5
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
10
;
j
++
)
{
p_cnProcBufRes
=
&
cnProcBufRes
[
lut_startAddrCnGroups
[
5
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
M
;
i
++
)
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
5
]
;
i
++
)
{
bnProcBuf
[
p_lut_cn2bn
[
j
*
M
+
i
]]
=
p_cnProcBufRes
[
i
];
idxBn
=
lut_startAddrBnProcBuf_CNG10
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG10
[
j
][
i
]
*
Z
;
nrLDPC_circ_memcpy
(
&
bnProcBuf
[
idxBn
],
p_cnProcBufRes
,
Z
,
lut_circShift_CNG10
[
j
][
i
]);
p_cnProcBufRes
+=
Z
;
}
}
}
/**
...
...
@@ -440,7 +593,6 @@ static inline void nrLDPC_cn2bnProcBuf(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_
*/
static
inline
void
nrLDPC_cn2bnProcBuf_BG1
(
t_nrLDPC_lut
*
p_lut
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint16_t
Z
)
{
//const uint32_t* lut_cn2bnProcBuf = p_lut->cn2bnProcBuf;
const
uint8_t
*
lut_numCnInCnGroups
=
p_lut
->
numCnInCnGroups
;
const
uint32_t
*
lut_startAddrCnGroups
=
p_lut
->
startAddrCnGroups
;
...
...
@@ -464,7 +616,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG10
)[
lut_numCnInCnGroups
[
7
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
7
]])
p_lut
->
startAddrBnProcBuf
[
7
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG19
)[
lut_numCnInCnGroups
[
8
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
8
]])
p_lut
->
startAddrBnProcBuf
[
8
];
//const uint8_t (*lut_bnPosBnProcBuf_CNG3) [lut_numCnInCnGroups[0]] = (uint8_t(*)[lut_numCnInCnGroups[0]]) p_lut->bnPosBnProcBuf[0];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG4
)
[
lut_numCnInCnGroups
[
1
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
1
]])
p_lut
->
bnPosBnProcBuf
[
1
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG5
)
[
lut_numCnInCnGroups
[
2
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
2
]])
p_lut
->
bnPosBnProcBuf
[
2
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG6
)
[
lut_numCnInCnGroups
[
3
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
3
]])
p_lut
->
bnPosBnProcBuf
[
3
];
...
...
@@ -477,19 +628,15 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
int8_t
*
cnProcBufRes
=
p_procBuf
->
cnProcBufRes
;
int8_t
*
bnProcBuf
=
p_procBuf
->
bnProcBuf
;
//const uint32_t* p_lut_cn2bn;
int8_t
*
p_cnProcBufRes
;
uint32_t
bitOffsetInGroup
;
uint32_t
i
;
uint32_t
j
;
//uint32_t M;
uint32_t
idxBn
=
0
;
// =====================================================================
// CN group with 3 BNs
//p_lut_cn2bn = &lut_cn2bnProcBuf[0];
//M = lut_numCnInCnGroups[0]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
0
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
3
;
j
++
)
...
...
@@ -502,8 +649,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 4 BNs
//p_lut_cn2bn += (M*3); // Number of elements of previous group
//M = lut_numCnInCnGroups[1]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
1
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
4
;
j
++
)
...
...
@@ -521,8 +666,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 5 BNs
//p_lut_cn2bn += (M*4); // Number of elements of previous group
//M = lut_numCnInCnGroups[2]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
2
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
5
;
j
++
)
...
...
@@ -540,8 +683,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 6 BNs
//p_lut_cn2bn += (M*5); // Number of elements of previous group
//M = lut_numCnInCnGroups[3]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
3
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
6
;
j
++
)
...
...
@@ -559,8 +700,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 7 BNs
//p_lut_cn2bn += (M*6); // Number of elements of previous group
//M = lut_numCnInCnGroups[4]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
4
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
7
;
j
++
)
...
...
@@ -578,8 +717,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 8 BNs
//p_lut_cn2bn += (M*7); // Number of elements of previous group
//M = lut_numCnInCnGroups[5]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
5
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
8
;
j
++
)
...
...
@@ -597,8 +734,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 9 BNs
//p_lut_cn2bn += (M*8); // Number of elements of previous group
//M = lut_numCnInCnGroups[6]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
6
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
9
;
j
++
)
...
...
@@ -616,8 +751,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 10 BNs
//p_lut_cn2bn += (M*9); // Number of elements of previous group
//M = lut_numCnInCnGroups[7]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
7
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
10
;
j
++
)
...
...
@@ -635,8 +768,6 @@ static inline void nrLDPC_cn2bnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 19 BNs
//p_lut_cn2bn += (M*10); // Number of elements of previous group
//M = lut_numCnInCnGroups[8]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
8
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
19
;
j
++
)
...
...
@@ -781,6 +912,147 @@ static inline void nrLDPC_bn2cnProcBuf(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_
}
static
inline
void
nrLDPC_bn2cnProcBuf_BG2
(
t_nrLDPC_lut
*
p_lut
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint16_t
Z
)
{
const
uint8_t
*
lut_numCnInCnGroups
=
p_lut
->
numCnInCnGroups
;
const
uint32_t
*
lut_startAddrCnGroups
=
p_lut
->
startAddrCnGroups
;
const
uint16_t
(
*
lut_circShift_CNG3
)
[
lut_numCnInCnGroups_BG2_R15
[
0
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
0
]])
p_lut
->
circShift
[
0
];
const
uint16_t
(
*
lut_circShift_CNG4
)
[
lut_numCnInCnGroups_BG2_R15
[
1
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
1
]])
p_lut
->
circShift
[
1
];
const
uint16_t
(
*
lut_circShift_CNG5
)
[
lut_numCnInCnGroups_BG2_R15
[
2
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
2
]])
p_lut
->
circShift
[
2
];
const
uint16_t
(
*
lut_circShift_CNG6
)
[
lut_numCnInCnGroups_BG2_R15
[
3
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
3
]])
p_lut
->
circShift
[
3
];
const
uint16_t
(
*
lut_circShift_CNG8
)
[
lut_numCnInCnGroups_BG2_R15
[
4
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
4
]])
p_lut
->
circShift
[
4
];
const
uint16_t
(
*
lut_circShift_CNG10
)
[
lut_numCnInCnGroups_BG2_R15
[
5
]]
=
(
uint16_t
(
*
)[
lut_numCnInCnGroups_BG2_R15
[
5
]])
p_lut
->
circShift
[
5
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG3
)
[
lut_numCnInCnGroups
[
0
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
0
]])
p_lut
->
startAddrBnProcBuf
[
0
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG4
)
[
lut_numCnInCnGroups
[
1
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
1
]])
p_lut
->
startAddrBnProcBuf
[
1
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG5
)
[
lut_numCnInCnGroups
[
2
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
2
]])
p_lut
->
startAddrBnProcBuf
[
2
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG6
)
[
lut_numCnInCnGroups
[
3
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
3
]])
p_lut
->
startAddrBnProcBuf
[
3
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG8
)
[
lut_numCnInCnGroups
[
4
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
4
]])
p_lut
->
startAddrBnProcBuf
[
4
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG10
)
[
lut_numCnInCnGroups
[
5
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
5
]])
p_lut
->
startAddrBnProcBuf
[
5
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG3
)
[
lut_numCnInCnGroups
[
0
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
0
]])
p_lut
->
bnPosBnProcBuf
[
0
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG4
)
[
lut_numCnInCnGroups
[
1
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
1
]])
p_lut
->
bnPosBnProcBuf
[
1
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG5
)
[
lut_numCnInCnGroups
[
2
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
2
]])
p_lut
->
bnPosBnProcBuf
[
2
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG6
)
[
lut_numCnInCnGroups
[
3
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
3
]])
p_lut
->
bnPosBnProcBuf
[
3
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG8
)
[
lut_numCnInCnGroups
[
4
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
4
]])
p_lut
->
bnPosBnProcBuf
[
4
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG10
)
[
lut_numCnInCnGroups
[
5
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
5
]])
p_lut
->
bnPosBnProcBuf
[
5
];
int8_t
*
cnProcBuf
=
p_procBuf
->
cnProcBuf
;
int8_t
*
bnProcBufRes
=
p_procBuf
->
bnProcBufRes
;
int8_t
*
p_cnProcBuf
;
uint32_t
bitOffsetInGroup
;
uint32_t
i
;
uint32_t
j
;
uint32_t
idxBn
=
0
;
// For CN groups 3 to 6 no need to send the last BN back since it's single edge
// and BN processing does not change the value already in the CN proc buf
// =====================================================================
// CN group with 3 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
0
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
2
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
0
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
0
];
i
++
)
{
idxBn
=
lut_startAddrBnProcBuf_CNG3
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG3
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
bnProcBufRes
[
lut_startAddrBnProcBuf_CNG3
[
j
][
i
]],
Z
,
lut_circShift_CNG3
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 4 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
1
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
3
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
1
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
1
];
i
++
)
{
idxBn
=
lut_startAddrBnProcBuf_CNG4
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG4
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
bnProcBufRes
[
idxBn
],
Z
,
lut_circShift_CNG4
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 5 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
2
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
4
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
2
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
2
];
i
++
)
{
idxBn
=
lut_startAddrBnProcBuf_CNG5
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG5
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
bnProcBufRes
[
idxBn
],
Z
,
lut_circShift_CNG5
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 6 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
3
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
5
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
3
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
3
];
i
++
)
{
idxBn
=
lut_startAddrBnProcBuf_CNG6
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG6
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
bnProcBufRes
[
idxBn
],
Z
,
lut_circShift_CNG6
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 8 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
4
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
8
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
4
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
4
];
i
++
)
{
idxBn
=
lut_startAddrBnProcBuf_CNG8
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG8
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
bnProcBufRes
[
idxBn
],
Z
,
lut_circShift_CNG8
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 10 BNs
bitOffsetInGroup
=
lut_numCnInCnGroups_BG2_R15
[
5
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
10
;
j
++
)
{
p_cnProcBuf
=
&
cnProcBuf
[
lut_startAddrCnGroups
[
5
]
+
j
*
bitOffsetInGroup
];
for
(
i
=
0
;
i
<
lut_numCnInCnGroups
[
5
];
i
++
)
{
idxBn
=
lut_startAddrBnProcBuf_CNG10
[
j
][
i
]
+
lut_bnPosBnProcBuf_CNG10
[
j
][
i
]
*
Z
;
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
bnProcBufRes
[
idxBn
],
Z
,
lut_circShift_CNG10
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
}
/**
\brief Copies the values in the BN processing results buffer to their corresponding place in the CN processing buffer for BG1.
\param p_lut Pointer to decoder LUTs
...
...
@@ -788,7 +1060,6 @@ static inline void nrLDPC_bn2cnProcBuf(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_
*/
static
inline
void
nrLDPC_bn2cnProcBuf_BG1
(
t_nrLDPC_lut
*
p_lut
,
t_nrLDPC_procBuf
*
p_procBuf
,
uint16_t
Z
)
{
// const uint32_t* lut_cn2bnProcBuf = p_lut->cn2bnProcBuf;
const
uint8_t
*
lut_numCnInCnGroups
=
p_lut
->
numCnInCnGroups
;
const
uint32_t
*
lut_startAddrCnGroups
=
p_lut
->
startAddrCnGroups
;
...
...
@@ -812,7 +1083,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG10
)[
lut_numCnInCnGroups
[
7
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
7
]])
p_lut
->
startAddrBnProcBuf
[
7
];
const
uint32_t
(
*
lut_startAddrBnProcBuf_CNG19
)[
lut_numCnInCnGroups
[
8
]]
=
(
uint32_t
(
*
)[
lut_numCnInCnGroups
[
8
]])
p_lut
->
startAddrBnProcBuf
[
8
];
// const uint8_t (*lut_bnPosBnProcBuf_CNG3) [lut_numCnInCnGroups[0]] = (uint8_t(*)[lut_numCnInCnGroups[0]]) p_lut->bnPosBnProcBuf[0];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG4
)
[
lut_numCnInCnGroups
[
1
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
1
]])
p_lut
->
bnPosBnProcBuf
[
1
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG5
)
[
lut_numCnInCnGroups
[
2
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
2
]])
p_lut
->
bnPosBnProcBuf
[
2
];
const
uint8_t
(
*
lut_bnPosBnProcBuf_CNG6
)
[
lut_numCnInCnGroups
[
3
]]
=
(
uint8_t
(
*
)[
lut_numCnInCnGroups
[
3
]])
p_lut
->
bnPosBnProcBuf
[
3
];
...
...
@@ -826,11 +1096,9 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
int8_t
*
bnProcBufRes
=
p_procBuf
->
bnProcBufRes
;
int8_t
*
p_cnProcBuf
;
// const uint32_t* p_lut_cn2bn;
uint32_t
bitOffsetInGroup
;
uint32_t
i
;
uint32_t
j
;
// uint32_t M;
uint32_t
idxBn
=
0
;
// For CN groups 3 to 19 no need to send the last BN back since it's single edge
...
...
@@ -839,8 +1107,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 3 BNs
// p_lut_cn2bn = &lut_cn2bnProcBuf[0];
// M = lut_numCnInCnGroups[0]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
0
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
2
;
j
++
)
...
...
@@ -853,8 +1119,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 4 BNs
//p_lut_cn2bn += (M*3); // Number of elements of previous group
//M = lut_numCnInCnGroups[1]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
1
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
3
;
j
++
)
...
...
@@ -872,8 +1136,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 5 BNs
//p_lut_cn2bn += (M*4); // Number of elements of previous group
//M = lut_numCnInCnGroups[2]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
2
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
4
;
j
++
)
...
...
@@ -886,14 +1148,11 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
nrLDPC_inv_circ_memcpy
(
p_cnProcBuf
,
&
bnProcBufRes
[
idxBn
],
Z
,
lut_circShift_CNG5
[
j
][
i
]);
p_cnProcBuf
+=
Z
;
}
}
// =====================================================================
// CN group with 6 BNs
//p_lut_cn2bn += (M*5); // Number of elements of previous group
//M = lut_numCnInCnGroups[3]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
3
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
5
;
j
++
)
...
...
@@ -911,8 +1170,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 7 BNs
//p_lut_cn2bn += (M*6); // Number of elements of previous group
//M = lut_numCnInCnGroups[4]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
4
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
6
;
j
++
)
...
...
@@ -930,8 +1187,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 8 BNs
//p_lut_cn2bn += (M*7); // Number of elements of previous group
//M = lut_numCnInCnGroups[5]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
5
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
7
;
j
++
)
...
...
@@ -949,8 +1204,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 9 BNs
//p_lut_cn2bn += (M*8); // Number of elements of previous group
//M = lut_numCnInCnGroups[6]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
6
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
8
;
j
++
)
...
...
@@ -968,8 +1221,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 10 BNs
//p_lut_cn2bn += (M*9); // Number of elements of previous group
//M = lut_numCnInCnGroups[7]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
7
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
9
;
j
++
)
...
...
@@ -987,8 +1238,6 @@ static inline void nrLDPC_bn2cnProcBuf_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf
// =====================================================================
// CN group with 19 BNs
//p_lut_cn2bn += (M*10); // Number of elements of previous group
//M = lut_numCnInCnGroups[8]*Z;
bitOffsetInGroup
=
lut_numCnInCnGroups_BG1_R13
[
8
]
*
NR_LDPC_ZMAX
;
for
(
j
=
0
;
j
<
19
;
j
++
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment