/* * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The OpenAirInterface Software Alliance licenses this file to You under * the OAI Public License, Version 1.1 (the "License"); you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * * http://www.openairinterface.org/?page_id=698 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *------------------------------------------------------------------------------- * For more information about the OpenAirInterface (OAI) Software Alliance: * contact@openairinterface.org */ /*!\file nrLDPC_init.h * \brief Defines the function to initialize the LDPC decoder and sets correct LUTs. * \author Sebastian Wagner (TCL Communications) Email: * \date 30-09-2019 * \version 1.0 * \note * \warning */ #ifndef __NR_LDPC_INIT__H__ #define __NR_LDPC_INIT__H__ #include "nrLDPC_lut.h" #include "nrLDPCdecoder_defs.h" /** \brief Initializes the decoder and sets correct LUTs \param p_decParams Pointer to decoder parameters \param p_lut Pointer to decoder LUTs \return Number of LLR values */ static inline uint32_t nrLDPC_init(t_nrLDPC_dec_params* p_decParams, t_nrLDPC_lut* p_lut) { uint32_t numLLR = 0; uint8_t BG = p_decParams->BG; uint16_t Z = p_decParams->Z; uint8_t R = p_decParams->R; if (BG == 2) { // 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->llr2llrProcBufBnPos = llr2llrProcBufBnPos_BG2_R15; p_lut->numCnInCnGroups = lut_numCnInCnGroups_BG2_R15; p_lut->numBnInBnGroups = lut_numBnInBnGroups_BG2_R15; p_lut->startAddrBnGroups = lut_startAddrBnGroups_BG2_R15; p_lut->startAddrBnGroupsLlr = lut_startAddrBnGroupsLlr_BG2_R15; numLLR = NR_LDPC_NCOL_BG2_R15*Z; } 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->llr2llrProcBufBnPos = llr2llrProcBufBnPos_BG2_R13; p_lut->numCnInCnGroups = lut_numCnInCnGroups_BG2_R13; p_lut->numBnInBnGroups = lut_numBnInBnGroups_BG2_R13; p_lut->startAddrBnGroups = lut_startAddrBnGroups_BG2_R13; p_lut->startAddrBnGroupsLlr = lut_startAddrBnGroupsLlr_BG2_R13; numLLR = NR_LDPC_NCOL_BG2_R13*Z; } 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->llr2llrProcBufBnPos = llr2llrProcBufBnPos_BG2_R23; p_lut->numCnInCnGroups = lut_numCnInCnGroups_BG2_R23; p_lut->numBnInBnGroups = lut_numBnInBnGroups_BG2_R23; p_lut->startAddrBnGroups = lut_startAddrBnGroups_BG2_R23; p_lut->startAddrBnGroupsLlr = lut_startAddrBnGroupsLlr_BG2_R23; numLLR = NR_LDPC_NCOL_BG2_R23*Z; } // LUT that depend on Z and R switch (Z) { case 2: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z2_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z2_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z2_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z2_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z2_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z2_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 3: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z3_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z3_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z3_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z3_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z3_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z3_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 4: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z4_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z4_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z4_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z4_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z4_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z4_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 5: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z5_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z5_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z5_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z5_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z5_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z5_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 6: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z6_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z6_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z6_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z6_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z6_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z6_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 7: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z7_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z7_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z7_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z7_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z7_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z7_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 8: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z8_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z8_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z8_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z8_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z8_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z8_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 9: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z9_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z9_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z9_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z9_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z9_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z9_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 10: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z10_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z10_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z10_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z10_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z10_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z10_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 11: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z11_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z11_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z11_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z11_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z11_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z11_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 12: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z12_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z12_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z12_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z12_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z12_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z12_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 13: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z13_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z13_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z13_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z13_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z13_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z13_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 14: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z14_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z14_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z14_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z14_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z14_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z14_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 15: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z15_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z15_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z15_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z15_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z15_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z15_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 16: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z16_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z16_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z16_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z16_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z16_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z16_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 18: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z18_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z18_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z18_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z18_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z18_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z18_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 20: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z20_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z20_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z20_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z20_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z20_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z20_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 22: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z22_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z22_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z22_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z22_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z22_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z22_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 24: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z24_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z24_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z24_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z24_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z24_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z24_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 26: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z26_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z26_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z26_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z26_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z26_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z26_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 28: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z28_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z28_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z28_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z28_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z28_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z28_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 30: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z30_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z30_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z30_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z30_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z30_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z30_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 32: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z32_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z32_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z32_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z32_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z32_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z32_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 36: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z36_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z36_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z36_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z36_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z36_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z36_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 40: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z40_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z40_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z40_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z40_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z40_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z40_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 44: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z44_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z44_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z44_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z44_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z44_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z44_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 48: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z48_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z48_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z48_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z48_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z48_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z48_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 52: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z52_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z52_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z52_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z52_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z52_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z52_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 56: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z56_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z56_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z56_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z56_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z56_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z56_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 60: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z60_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z60_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z60_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z60_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z60_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z60_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 64: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z64_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z64_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z64_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z64_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z64_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z64_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 72: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z72_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z72_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z72_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z72_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z72_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z72_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 80: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z80_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z80_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z80_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z80_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z80_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z80_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 88: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z88_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z88_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z88_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z88_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z88_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z88_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 96: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z96_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z96_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z96_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z96_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z96_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z96_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 104: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z104_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z104_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z104_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z104_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z104_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z104_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 112: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z112_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z112_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z112_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z112_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z112_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z112_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 120: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z120_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z120_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z120_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z120_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z120_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z120_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 128: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z128_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z128_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z128_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z128_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z128_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z128_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 144: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z144_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z144_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z144_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z144_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z144_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z144_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 160: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z160_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z160_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z160_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z160_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z160_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z160_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 176: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z176_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z176_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z176_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z176_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z176_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z176_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 192: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z192_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z192_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z192_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z192_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z192_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z192_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 208: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z208_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z208_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z208_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z208_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z208_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z208_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 224: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z224_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z224_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z224_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z224_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z224_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z224_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 240: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z240_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z240_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z240_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z240_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z240_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z240_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 256: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z256_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z256_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z256_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z256_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z256_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z256_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 288: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z288_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z288_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z288_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z288_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z288_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z288_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 320: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z320_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z320_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z320_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z320_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z320_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z320_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 352: { p_lut->circShift[0] = (const uint16_t**) circShift_BG2_Z352_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG2_Z352_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG2_Z352_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG2_Z352_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG2_Z352_CNG8; p_lut->circShift[5] = (const uint16_t**) circShift_BG2_Z352_CNG10; p_lut->circShift[6] = NULL; p_lut->circShift[7] = NULL; p_lut->circShift[8] = NULL; break; } case 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; 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; } } } else { // BG == 1 // LUT that only depend on BG p_lut->startAddrCnGroups = lut_startAddrCnGroups_BG1; p_lut->posBnInCnProcBuf[0] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG3; p_lut->posBnInCnProcBuf[1] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG4; p_lut->posBnInCnProcBuf[2] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG5; p_lut->posBnInCnProcBuf[3] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG6; p_lut->posBnInCnProcBuf[4] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG7; p_lut->posBnInCnProcBuf[5] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG8; p_lut->posBnInCnProcBuf[6] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG9; p_lut->posBnInCnProcBuf[7] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG10; p_lut->posBnInCnProcBuf[8] = (const uint8_t**) posBnInCnProcBuf_BG1_CNG19; // LUT that only depend on R if (R == 13) { p_lut->startAddrBnProcBuf[0] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG3; p_lut->startAddrBnProcBuf[1] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG4; p_lut->startAddrBnProcBuf[2] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG5; p_lut->startAddrBnProcBuf[3] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG6; p_lut->startAddrBnProcBuf[4] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG7; p_lut->startAddrBnProcBuf[5] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG8; p_lut->startAddrBnProcBuf[6] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG9; p_lut->startAddrBnProcBuf[7] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG10; p_lut->startAddrBnProcBuf[8] = (const uint32_t**) startAddrBnProcBuf_BG1_R13_CNG19; p_lut->bnPosBnProcBuf[0] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[1] = (const uint8_t**) bnPosBnProcBuf_BG1_R13_CNG4; p_lut->bnPosBnProcBuf[2] = (const uint8_t**) bnPosBnProcBuf_BG1_R13_CNG5; p_lut->bnPosBnProcBuf[3] = (const uint8_t**) bnPosBnProcBuf_BG1_R13_CNG6; p_lut->bnPosBnProcBuf[4] = (const uint8_t**) bnPosBnProcBuf_BG1_R13_CNG7; p_lut->bnPosBnProcBuf[5] = (const uint8_t**) bnPosBnProcBuf_BG1_R13_CNG8; p_lut->bnPosBnProcBuf[6] = (const uint8_t**) bnPosBnProcBuf_BG1_R13_CNG9; p_lut->bnPosBnProcBuf[7] = (const uint8_t**) bnPosBnProcBuf_BG1_R13_CNG10; p_lut->bnPosBnProcBuf[8] = (const uint8_t**) bnPosBnProcBuf_BG1_R13_CNG19; p_lut->llr2llrProcBufAddr = llr2llrProcBufAddr_BG1_R13; p_lut->llr2llrProcBufBnPos = llr2llrProcBufBnPos_BG1_R13; p_lut->numCnInCnGroups = lut_numCnInCnGroups_BG1_R13; p_lut->numBnInBnGroups = lut_numBnInBnGroups_BG1_R13; p_lut->startAddrBnGroups = lut_startAddrBnGroups_BG1_R13; p_lut->startAddrBnGroupsLlr = lut_startAddrBnGroupsLlr_BG1_R13; numLLR = NR_LDPC_NCOL_BG1_R13*Z; } else if (R == 23) { p_lut->startAddrBnProcBuf[0] = (const uint32_t**) startAddrBnProcBuf_BG1_R23_CNG3; p_lut->startAddrBnProcBuf[1] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[2] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[3] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[4] = (const uint32_t**) startAddrBnProcBuf_BG1_R23_CNG7; p_lut->startAddrBnProcBuf[5] = (const uint32_t**) startAddrBnProcBuf_BG1_R23_CNG8; p_lut->startAddrBnProcBuf[6] = (const uint32_t**) startAddrBnProcBuf_BG1_R23_CNG9; p_lut->startAddrBnProcBuf[7] = (const uint32_t**) startAddrBnProcBuf_BG1_R23_CNG10; p_lut->startAddrBnProcBuf[8] = (const uint32_t**) startAddrBnProcBuf_BG1_R23_CNG19; p_lut->bnPosBnProcBuf[0] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[1] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[2] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[3] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[4] = (const uint8_t**) bnPosBnProcBuf_BG1_R23_CNG7; p_lut->bnPosBnProcBuf[5] = (const uint8_t**) bnPosBnProcBuf_BG1_R23_CNG8; p_lut->bnPosBnProcBuf[6] = (const uint8_t**) bnPosBnProcBuf_BG1_R23_CNG9; p_lut->bnPosBnProcBuf[7] = (const uint8_t**) bnPosBnProcBuf_BG1_R23_CNG10; p_lut->bnPosBnProcBuf[8] = (const uint8_t**) bnPosBnProcBuf_BG1_R23_CNG19; p_lut->llr2llrProcBufAddr = llr2llrProcBufAddr_BG1_R23; p_lut->llr2llrProcBufBnPos = llr2llrProcBufBnPos_BG1_R23; p_lut->numCnInCnGroups = lut_numCnInCnGroups_BG1_R23; p_lut->numBnInBnGroups = lut_numBnInBnGroups_BG1_R23; p_lut->startAddrBnGroups = lut_startAddrBnGroups_BG1_R23; p_lut->startAddrBnGroupsLlr = lut_startAddrBnGroupsLlr_BG1_R23; numLLR = NR_LDPC_NCOL_BG1_R23*Z; } else if (R == 89) { p_lut->startAddrBnProcBuf[0] = (const uint32_t**) startAddrBnProcBuf_BG1_R89_CNG3; p_lut->startAddrBnProcBuf[1] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[2] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[3] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[4] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[5] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[6] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[7] = (const uint32_t**) NULL; p_lut->startAddrBnProcBuf[8] = (const uint32_t**) startAddrBnProcBuf_BG1_R89_CNG19; p_lut->bnPosBnProcBuf[0] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[1] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[2] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[3] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[4] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[5] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[6] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[7] = (const uint8_t**) NULL; p_lut->bnPosBnProcBuf[8] = (const uint8_t**) bnPosBnProcBuf_BG1_R89_CNG19; p_lut->llr2llrProcBufAddr = llr2llrProcBufAddr_BG1_R89; p_lut->llr2llrProcBufBnPos = llr2llrProcBufBnPos_BG1_R89; p_lut->numCnInCnGroups = lut_numCnInCnGroups_BG1_R89; p_lut->numBnInBnGroups = lut_numBnInBnGroups_BG1_R89; p_lut->startAddrBnGroups = lut_startAddrBnGroups_BG1_R89; p_lut->startAddrBnGroupsLlr = lut_startAddrBnGroupsLlr_BG1_R89; numLLR = NR_LDPC_NCOL_BG1_R89*Z; } // LUT that depend on Z and R 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; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z2_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z2_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z2_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z2_CNG8; 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; break; } case 3: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z3_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z3_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z3_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z3_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z3_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z3_CNG8; 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; break; } case 4: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z4_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z4_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z4_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z4_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z4_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z4_CNG8; 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; break; } case 5: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z5_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z5_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z5_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z5_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z5_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z5_CNG8; 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; break; } case 6: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z6_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z6_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z6_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z6_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z6_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z6_CNG8; 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; break; } case 7: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z7_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z7_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z7_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z7_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z7_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z7_CNG8; 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; break; } case 8: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z8_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z8_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z8_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z8_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z8_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z8_CNG8; 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; break; } case 9: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z9_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z9_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z9_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z9_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z9_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z9_CNG8; 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; break; } case 10: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z10_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z10_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z10_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z10_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z10_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z10_CNG8; 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; break; } case 11: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z11_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z11_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z11_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z11_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z11_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z11_CNG8; 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; break; } case 12: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z12_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z12_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z12_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z12_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z12_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z12_CNG8; 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; break; } case 13: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z13_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z13_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z13_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z13_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z13_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z13_CNG8; 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; break; } case 14: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z14_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z14_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z14_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z14_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z14_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z14_CNG8; 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; break; } case 15: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z15_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z15_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z15_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z15_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z15_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z15_CNG8; 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; break; } case 16: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z16_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z16_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z16_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z16_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z16_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z16_CNG8; 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; break; } case 18: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z18_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z18_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z18_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z18_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z18_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z18_CNG8; 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; break; } case 20: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z20_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z20_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z20_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z20_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z20_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z20_CNG8; 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; break; } case 22: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z22_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z22_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z22_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z22_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z22_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z22_CNG8; 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; break; } case 24: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z24_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z24_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z24_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z24_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z24_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z24_CNG8; 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; break; } case 26: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z26_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z26_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z26_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z26_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z26_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z26_CNG8; 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; break; } case 28: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z28_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z28_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z28_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z28_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z28_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z28_CNG8; 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; break; } case 30: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z30_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z30_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z30_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z30_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z30_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z30_CNG8; 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; break; } case 32: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z32_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z32_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z32_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z32_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z32_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z32_CNG8; 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; break; } case 36: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z36_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z36_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z36_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z36_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z36_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z36_CNG8; 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; break; } case 40: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z40_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z40_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z40_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z40_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z40_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z40_CNG8; 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; break; } case 44: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z44_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z44_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z44_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z44_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z44_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z44_CNG8; 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; break; } case 48: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z48_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z48_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z48_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z48_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z48_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z48_CNG8; 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; break; } case 52: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z52_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z52_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z52_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z52_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z52_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z52_CNG8; 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; break; } case 56: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z56_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z56_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z56_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z56_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z56_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z56_CNG8; 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; break; } case 60: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z60_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z60_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z60_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z60_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z60_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z60_CNG8; 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; break; } case 64: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z64_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z64_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z64_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z64_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z64_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z64_CNG8; 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; break; } case 72: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z72_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z72_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z72_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z72_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z72_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z72_CNG8; 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; break; } case 80: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z80_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z80_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z80_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z80_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z80_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z80_CNG8; 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; break; } case 88: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z88_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z88_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z88_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z88_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z88_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z88_CNG8; 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; break; } case 96: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z96_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z96_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z96_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z96_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z96_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z96_CNG8; 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; break; } case 104: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z104_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z104_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z104_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z104_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z104_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z104_CNG8; 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; break; } case 112: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z112_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z112_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z112_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z112_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z112_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z112_CNG8; 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; break; } case 120: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z120_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z120_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z120_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z120_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z120_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z120_CNG8; 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; break; } case 128: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z128_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z128_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z128_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z128_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z128_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z128_CNG8; 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; break; } case 144: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z144_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z144_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z144_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z144_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z144_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z144_CNG8; 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; break; } case 160: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z160_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z160_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z160_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z160_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z160_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z160_CNG8; 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; break; } case 176: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z176_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z176_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z176_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z176_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z176_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z176_CNG8; 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; break; } case 192: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z192_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z192_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z192_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z192_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z192_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z192_CNG8; 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; break; } case 208: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z208_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z208_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z208_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z208_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z208_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z208_CNG8; 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; break; } case 224: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z224_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z224_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z224_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z224_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z224_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z224_CNG8; 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; break; } case 240: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z240_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z240_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z240_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z240_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z240_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z240_CNG8; 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; break; } case 256: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z256_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z256_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z256_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z256_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z256_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z256_CNG8; 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; break; } case 288: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z288_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z288_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z288_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z288_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z288_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z288_CNG8; 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; break; } case 320: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z320_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z320_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z320_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z320_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z320_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z320_CNG8; 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; break; } case 352: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z352_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z352_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z352_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z352_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z352_CNG7; p_lut->circShift[5] = (const uint16_t**) circShift_BG1_Z352_CNG8; 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; break; } case 384: { p_lut->circShift[0] = (const uint16_t**) circShift_BG1_Z384_CNG3; p_lut->circShift[1] = (const uint16_t**) circShift_BG1_Z384_CNG4; p_lut->circShift[2] = (const uint16_t**) circShift_BG1_Z384_CNG5; p_lut->circShift[3] = (const uint16_t**) circShift_BG1_Z384_CNG6; p_lut->circShift[4] = (const uint16_t**) circShift_BG1_Z384_CNG7; 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; 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; } #endif