Commit d0eef402 authored by Florian Kaltenberger's avatar Florian Kaltenberger

moving the LDPC encoder to subdirectory + adding license header

parent 5eaade8e
......@@ -1088,9 +1088,9 @@ set(PHY_SRC
${OPENAIR1_DIR}/PHY/CODING/lte_segmentation.c
${OPENAIR1_DIR}/PHY/CODING/nr_segmentation.c
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder.c
${OPENAIR1_DIR}/PHY/CODING/ldpc_encoder.c
${OPENAIR1_DIR}/PHY/CODING/ldpc_encoder2.c
${OPENAIR1_DIR}/PHY/CODING/ldpc_generate_coefficient.c
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder.c
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_encoder2.c
${OPENAIR1_DIR}/PHY/CODING/nrLDPC_encoder/ldpc_generate_coefficient.c
${OPENAIR1_DIR}/PHY/CODING/ccoding_byte.c
${OPENAIR1_DIR}/PHY/CODING/ccoding_byte_lte.c
${OPENAIR1_DIR}/PHY/CODING/3gpplte_sse.c
......@@ -1122,7 +1122,7 @@ if (${SMBV})
endif (${SMBV})
if (${COMPILATION_AVX2} STREQUAL "True")
set(PHY_SRC ${PHY_SRC} ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c ${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder.c)
set(PHY_SRC ${PHY_SRC} ${OPENAIR1_DIR}/PHY/LTE_TRANSPORT/dlsch_llr_computation_avx2.c)
endif ()
add_library(PHY ${PHY_SRC})
......
/*
* 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.0 (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 Gen_shift_value.h
* \brief Defines the shift values for LDPC encoder
* \author Florian Kaltenberger, Raymond Knopp, Kien le Trung (Eurecom)
* \email openair_tech@eurecom.fr
* \date 27-03-2018
* \version 1.0
* \note
* \warning
*/
short no_shift_values_BG1[1012]= {4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,4,4,4,3,4,4,3,3,4,4,4,4,4,3,4,4,3,4,4,4,4,6,5,4,4,5,4,5,5,5,4,5,4,4,5,5,4,4,5,5,4,5,4,5,4,3,4,4,3,4,4,4,3,4,4,4,4,4,3,4,4,4,3,4,4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,3,4,3,3,3,3,3,3,3,3,4,3,3,3,4,3,3,3,3,4,1,0,0,0,0,0,1,0,0,0,1,1,0,1,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,11,9,7,8,8,7,8,8,8,7,8,7,8,8,8,7,8,8,8,8,8,8,1,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,1,1,0,1,0,0,1,1,0,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,10,8,7,7,6,7,7,6,6,7,7,7,8,7,6,7,8,6,7,7,7,8,1,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,1,0,0,0,6,4,4,5,3,4,4,4,3,4,4,4,4,4,3,4,4,3,4,4,5,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,1,6,5,3,4,4,3,4,4,4,3,5,4,4,5,4,3,4,4,5,3,4,4,4,4,3,4,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,5,3,3,4,3,3,3,3,3,4,3,4,3,3,3,3,3,3,3,3,3,3,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,5,3,3,4,4,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,0,1,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,5,5,3,4,4,3,4,4,4,3,4,4,4,4,5,3,4,4,5,3,4,4,7,5,4,4,5,4,5,5,5,4,6,4,4,6,5,4,4,5,5,4,5,4,9,8,6,7,7,6,7,8,7,6,7,7,7,7,7,6,7,7,7,6,7,7,7,5,4,4,5,4,5,5,5,4,5,4,5,5,6,4,4,5,5,4,5,4,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,4,4,3,3,3,3,4,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,5,5,4,4,3,4,4,3,3,4,4,4,4,5,3,4,4,3,4,4,4,4,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,7,5,4,4,6,4,5,5,5,4,5,4,4,5,5,4,4,5,5,4,5,4,5,5,3,4,4,3,4,4,4,3,4,4,4,4,4,3,5,4,5,3,4,4,5,3,3,3,3,3,3,4,3,4,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0};
short pointer_shift_values_BG1[1012]= {0,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,72,76,80,84,87,91,95,98,101,105,109,113,117,121,124,128,132,135,139,143,147,151,157,162,166,170,175,179,184,189,194,198,203,207,211,216,221,225,229,234,239,243,248,252,257,261,264,268,272,275,279,283,287,290,294,298,302,306,310,313,317,321,325,328,332,336,337,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,338,343,347,350,354,357,360,363,366,369,372,375,378,382,385,388,391,395,398,401,404,407,411,412,412,412,412,412,412,413,413,413,413,414,415,415,416,416,416,416,417,418,418,419,419,420,421,421,421,422,422,422,423,424,424,424,424,424,424,425,425,425,425,425,425,425,425,436,445,452,460,468,475,483,491,499,506,514,521,529,537,545,552,560,568,576,584,592,600,601,602,602,602,602,602,602,602,602,602,603,604,604,605,605,605,605,606,607,607,608,608,608,609,610,610,611,611,611,612,613,613,613,613,613,613,614,614,614,614,614,614,614,614,624,632,639,646,652,659,666,672,678,685,692,699,707,714,720,727,735,741,748,755,762,770,771,772,772,772,772,772,772,772,772,772,773,774,774,775,775,775,775,775,776,776,776,776,782,786,790,795,798,802,806,810,813,817,821,825,829,833,836,840,844,847,851,855,860,864,865,865,865,865,865,865,865,865,865,865,865,865,866,866,866,867,868,869,869,869,869,870,876,881,884,888,892,895,899,903,907,910,915,919,923,928,932,935,939,943,948,951,955,959,963,967,970,974,977,980,983,986,989,992,995,999,1002,1005,1008,1011,1014,1017,1020,1023,1027,1030,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1031,1032,1032,1033,1034,1034,1034,1034,1035,1035,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1036,1037,1038,1038,1038,1038,1038,1039,1040,1040,1040,1041,1042,1042,1042,1042,1042,1042,1043,1044,1044,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1050,1053,1056,1060,1063,1066,1069,1072,1075,1079,1082,1086,1089,1092,1095,1098,1101,1104,1107,1110,1113,1116,1116,1117,1117,1117,1117,1118,1118,1118,1118,1118,1118,1118,1118,1118,1118,1118,1119,1119,1119,1119,1120,1121,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1122,1123,1124,1124,1124,1124,1125,1125,1125,1125,1125,1125,1126,1127,1127,1127,1127,1127,1127,1127,1127,1128,1128,1128,1128,1128,1128,1128,1128,1129,1129,1129,1129,1134,1137,1140,1144,1148,1151,1154,1157,1160,1163,1166,1170,1173,1176,1179,1182,1185,1188,1191,1194,1197,1200,1200,1201,1201,1201,1201,1201,1202,1203,1203,1203,1203,1203,1203,1203,1204,1204,1204,1204,1204,1204,1204,1204,1205,1205,1206,1206,1207,1207,1207,1207,1207,1207,1207,1207,1207,1207,1207,1208,1208,1208,1208,1208,1208,1208,1208,1209,1209,1209,1209,1209,1210,1210,1211,1211,1211,1211,1211,1211,1211,1211,1211,1211,1211,1211,1211,1211,1212,1212,1212,1212,1213,1213,1213,1213,1213,1213,1213,1213,1213,1213,1213,1213,1213,1213,1213,1214,1214,1215,1220,1225,1228,1232,1236,1239,1243,1247,1251,1254,1258,1262,1266,1270,1275,1278,1282,1286,1291,1294,1298,1302,1309,1314,1318,1322,1327,1331,1336,1341,1346,1350,1356,1360,1364,1370,1375,1379,1383,1388,1393,1397,1402,1406,1415,1423,1429,1436,1443,1449,1456,1464,1471,1477,1484,1491,1498,1505,1512,1518,1525,1532,1539,1545,1552,1559,1566,1571,1575,1579,1584,1588,1593,1598,1603,1607,1612,1616,1621,1626,1632,1636,1640,1645,1650,1654,1659,1663,1663,1664,1665,1665,1665,1665,1665,1665,1665,1665,1665,1666,1666,1666,1666,1666,1666,1666,1666,1666,1666,1667,1668,1668,1668,1668,1668,1668,1668,1669,1669,1669,1669,1669,1669,1669,1669,1670,1670,1671,1671,1671,1671,1671,1675,1679,1682,1685,1688,1691,1695,1698,1701,1704,1707,1710,1714,1717,1720,1723,1726,1729,1732,1735,1738,1741,1742,1742,1742,1742,1742,1742,1742,1742,1742,1742,1742,1742,1742,1742,1743,1744,1744,1744,1745,1745,1745,1745,1750,1755,1759,1763,1766,1770,1774,1777,1780,1784,1788,1792,1796,1801,1804,1808,1812,1815,1819,1823,1827,1831,1832,1832,1832,1832,1832,1832,1832,1832,1832,1833,1834,1834,1835,1835,1835,1835,1835,1835,1835,1835,1835,1835,1835,1836,1836,1837,1837,1837,1837,1838,1838,1838,1838,1838,1838,1838,1838,1838,1838,1838,1838,1839,1839,1839,1840,1840,1840,1840,1840,1840,1840,1840,1841,1841,1841,1841,1841,1841,1841,1841,1841,1842,1842,1842,1842,1842,1842,1843,1843,1844,1844,1844,1844,1844,1844,1845,1845,1845,1845,1845,1845,1845,1845,1845,1846,1846,1846,1846,1853,1858,1862,1866,1872,1876,1881,1886,1891,1895,1900,1904,1908,1913,1918,1922,1926,1931,1936,1940,1945,1949,1954,1959,1962,1966,1970,1973,1977,1981,1985,1988,1992,1996,2000,2004,2008,2011,2016,2020,2025,2028,2032,2036,2041,2044,2047,2050,2053,2056,2059,2063,2066,2070,2073,2076,2079,2082,2085,2088,2091,2094,2097,2100,2103,2106,2106,2107,2107,2107,2107,2107,2108,2108,2108,2108,2109,2109,2109,2109,2109,2109,2109,2109,2109,2109,2109};
......@@ -108,4 +139,4 @@ short Gen_shift_values_BG2_Z_288[1483]= {1,17,93,24,104,118,51,119,33,92,90,102,
short Gen_shift_values_BG2_Z_256[1483]= {7,165,79,115,112,6,202,56,24,164,42,251,50,156,123,102,187,224,207,154,52,222,238,16,203,250,126,8,7,165,79,116,115,112,6,203,202,56,25,24,164,42,251,50,156,123,102,188,187,224,207,154,52,222,238,16,204,203,250,126,8,7,166,165,79,116,115,112,6,203,202,56,25,24,165,164,42,252,251,50,156,124,123,102,188,187,225,224,207,155,154,52,223,222,238,16,204,203,251,250,126,7,165,79,115,112,7,6,202,57,56,24,164,42,251,50,157,156,123,103,102,187,224,208,207,154,53,52,222,238,17,16,203,250,127,126,79,78,236,150,178,187,186,183,77,213,18,17,127,96,95,235,113,66,121,227,194,173,3,2,39,22,225,123,37,53,87,19,18,65,197,111,110,12,182,230,219,218,215,109,40,50,49,159,128,127,11,145,98,153,3,226,205,193,35,34,71,54,1,155,158,69,85,119,51,50,97,229,166,165,67,237,154,18,17,14,164,105,104,214,183,182,66,200,153,208,58,25,4,227,90,89,126,109,56,210,44,124,140,174,106,105,152,28,27,11,10,123,168,25,82,195,119,118,231,115,228,123,9,122,128,206,205,62,173,59,172,28,27,140,167,24,45,158,254,111,53,166,17,159,16,126,239,219,105,218,146,191,190,47,227,84,68,210,67,157,14,169,55,168,139,225,82,241,98,133,19,132,207,206,63,253,110,243,129,242,238,237,140,139,53,141,90,89,86,236,93,177,176,30,255,254,139,138,16,226,225,24,130,98,97,76,162,161,199,198,181,129,128,26,197,196,212,246,178,177,225,224,100,255,68,254,226,156,140,70,107,176,106,173,103,67,253,202,194,7,193,117,47,16,85,15,225,155,103,33,56,242,111,41,217,147,184,114,163,93,179,248,178,29,215,12,198,215,145,113,43,27,213,43,229,77,7,204,195,8,194,55,241,187,117,10,184,255,116,63,221,135,10,171,168,63,62,2,113,112,80,220,98,51,106,213,212,179,159,158,243,24,8,7,210,109,108,235,22,38,73,72,3,50,183,182,209,22,21,179,93,130,129,126,20,62,217,216,70,39,38,178,56,110,9,64,170,137,116,202,201,238,221,168,66,236,252,30,218,217,8,140,229,131,45,82,81,78,229,228,1,168,23,22,246,130,8,217,16,123,122,89,69,68,153,190,174,173,120,19,18,188,204,239,238,37,169,216,93,92,11,10,239,168,141,82,55,119,118,91,115,88,239,9,238,114,206,205,178,33,59,32,28,27,0,167,140,45,18,254,227,53,26,133,159,132,126,99,79,105,78,191,190,163,227,200,184,210,183,144,157,130,29,55,28,225,198,241,214,249,19,248,207,206,179,253,226,103,129,102,221,182,220,84,122,254,36,50,73,34,72,31,69,181,219,160,121,159,231,13,238,199,237,83,121,217,255,170,208,225,7,75,113,42,80,21,59,145,106,144,143,181,126,164,73,111,227,9,141,179,157,195,191,229,161,122,160,169,207,45,83,16,250,15,249,152,173,151,87,65,124,102,123,101,120,98,14,248,202,211,189,210,188,64,42,33,11,32,10,151,172,150,50,28,238,3,237,58,36,164,142,110,131,109,110,88,196,174,195,173,211,232,210,215,193,141,162,140,60,38,209,230,208,246,224,24,2,212,190,211,189,237,2,236,134,112,141,122,72,121,71,230,23,229,193,143,230,180,229,179,226,176,120,70,253,61,11,60,10,170,120,139,89,138,88,229,22,228,156,106,60,109,59,164,114,14,220,188,237,187,216,166,123,46,252,45,251,33,82,32,65,15,219,12,218,166,116,31,80,30,96,46,130,80,62,12,61,11,59,108,58,240,190,219,193,49,192,94,8,86,44,41,191,19,131,241,209,93,227,180,235,85,52,31,116,153,136,83,237,151,167,201,132,179,55,37,36,194,108,145,144,141,35,25,232,231,85,54,53,193,71,24,79,185,104,152,131,217,216,253,236,183,81,251,11,45,233,232,23,155,217,119,33,75,69,66,217,216,156,11,10,234,118,252,205,4,111,110,77,57,56,141,178,162,161,108,7,6,176,192,227,226,41,157,204,81,80,221,62,22,234,237,45,138,7,227,155,168,167,129,70,69,31,239,201,20,19,237,16,234,129,166,128,107,106,68,179,216,178,28,185,184,146,69,68,30,202,164,156,155,117,210,172,23,60,22,28,27,245,225,6,224,92,91,53,129,128,90,74,111,73,59,58,20,175,212,174,142,127,126,88,142,104,139,176,138,108,107,69,155,154,116,249,30,248,7,150,97,100,134,17,27,70,239,8,83,8,166,80,116,113,8,7,105,203,58,57,25,165,43,252,51,158,157,124,104,103,188,225,209,208,155,54,53,223,239,18,17,204,251,128,127,174,173,76,75,245,241,26,25,22,172,113,112,222,191,190,75,74,208,162,161,216,66,34,33,12,43,98,97,135,134,117,65,64,218,133,132,148,182,114,113,161,160,36,242,144,58,94,91,241,181,35,131,3,143,21,230,29,135,102,81,166,203,186,133,31,163,201,217,251,182,229,105,93,92,43,251,250,201,164,115,146,201,200,151,197,148,43,91,42,32,31,238,93,141,92,110,109,60,250,249,200,127,78,81,80,31,135,86,193,241,192,209,208,159,139,187,138,17,16,223,54,53,4,244,36,243,240,239,190,89,137,88,52,51,2,67,18,53,101,52,33,32,239,80,79,30,163,211,162,71,70,228,142,179,178,175,69,56,10,9,119,88,87,227,105,58,113,219,186,165,39,251,250,31,14,217,115,29,45,79,11,10,57,189,139,37,153,226,158,128,60,42,230,78,10,75,7,158,225,157,165,97,208,19,207,243,175,127,59,5,193,214,146,13,201,52,119,51,86,18,254,65,253,150,82,187,119,103,170,102,117,49,204,15,203,185,117,201,133,168,235,167,166,98,213,145,22,89,21,46,45,203,117,154,153,150,44,30,241,240,94,63,62,202,80,33,88,194,161,140,65,226,225,6,245,192,90,4,20,54,242,241,32,164,42,41,200,199,113,238,150,149,146,40,237,236,90,59,58,199,198,76,30,29,84,190,158,157,136,222,221,3,2,241,189,188,86,171,1,0,16,50,238,237,29,28,160,82,127,240,29,154,199,190,235,187,232,127,81,126,21,66,177,131,176,255,99,144,239,28,117,162,70,115,125,170,21,231,20,198,243,223,177,222,6,51,43,88,72,26,71,229,18,173,127,172,41,86,57,102,137,91,136,22,67,69,114,247,201,246,126,125,27,197,234,233,230,124,128,65,64,174,143,142,26,160,113,168,18,241,220,228,50,49,86,69,16,170,84,100,134,66,65,112,244};
short Gen_shift_values_BG2_Z_320[1483]= {318,135,18,318,92,36,318,13,318,122,97,318,7,100,318,144,318,86,10,318,55,318,106,51,318,53,44,319,318,135,18,319,318,92,36,319,318,13,319,318,122,97,318,7,100,318,144,319,318,86,10,318,55,318,106,51,319,318,53,44,319,318,136,135,18,319,318,92,36,319,318,13,319,318,123,122,97,319,318,7,100,319,318,144,319,318,87,86,10,319,318,55,319,318,106,51,319,318,54,53,44,318,135,18,318,92,37,36,318,14,13,318,122,97,318,7,101,100,318,145,144,318,86,11,10,318,56,55,318,106,52,51,318,53,45,44,156,155,292,175,319,156,155,249,193,135,156,155,170,156,155,279,254,155,164,257,155,301,156,155,243,167,155,212,155,263,208,156,155,210,201,63,62,199,82,319,63,62,156,100,130,63,62,77,63,62,186,161,62,71,164,62,208,141,63,62,150,74,62,119,140,62,170,115,63,62,117,108,147,146,283,166,319,147,146,240,184,147,146,161,147,146,270,245,146,155,248,146,292,123,147,146,234,158,146,203,98,146,254,199,147,146,201,192,44,95,94,76,231,213,114,96,95,94,76,188,170,132,115,114,319,95,94,76,109,92,91,95,94,76,218,200,193,175,94,76,103,85,196,179,178,94,76,240,223,222,44,95,94,76,182,164,106,89,88,94,76,151,134,133,147,94,76,202,184,147,130,129,95,94,76,149,131,140,123,122,86,85,223,222,105,319,86,85,179,123,64,86,85,100,86,85,210,209,184,86,85,94,187,86,85,231,86,85,174,173,97,86,85,142,86,85,193,138,86,85,141,140,131,49,84,83,186,220,69,103,49,84,83,143,177,87,121,319,49,84,83,64,98,49,84,83,173,207,148,182,49,83,58,92,151,185,49,83,195,229,49,84,83,137,171,61,95,49,83,106,140,49,83,157,191,102,136,96,49,84,83,104,138,95,129,319,16,155,19,0,137,20,319,0,94,39,38,0,16,15,0,124,99,0,9,103,102,0,147,146,0,88,13,12,0,58,57,6,0,108,54,53,0,55,47,46,3,47,46,183,66,47,46,140,84,319,47,46,61,47,46,170,145,112,46,55,148,46,192,47,46,134,58,46,103,46,154,99,47,46,101,92,24,161,44,319,24,118,63,62,111,24,40,39,24,148,123,24,33,127,126,24,171,170,24,112,37,36,24,82,81,24,132,78,77,101,24,79,71,70,56,55,25,192,162,75,45,56,55,25,149,119,93,64,63,319,56,55,25,70,41,40,56,55,25,179,149,154,124,55,25,64,34,157,128,127,55,25,201,172,171,56,55,25,143,113,67,38,37,137,55,25,112,83,82,55,25,163,133,108,79,78,56,55,25,110,80,101,72,71,71,98,97,208,234,91,117,319,71,98,97,165,191,109,135,71,98,97,86,112,71,98,97,195,221,170,196,71,97,80,106,173,199,71,97,217,243,71,98,97,159,185,83,109,71,97,128,154,71,97,179,205,124,150,71,98,97,126,152,117,143,110,109,142,141,246,279,278,129,161,110,109,142,141,203,235,147,179,319,110,109,142,141,124,156,110,109,142,141,233,266,265,208,240,109,142,141,118,150,211,243,109,142,141,255,287,110,109,142,141,197,230,229,121,153,109,142,141,166,198,109,142,141,217,249,162,194,110,109,142,141,164,197,196,155,187,78,108,107,17,16,244,154,153,127,36,108,107,17,16,201,110,145,54,319,108,107,17,16,122,31,108,107,17,16,231,141,140,206,115,107,17,16,116,25,209,118,107,17,16,253,162,23,108,107,17,16,195,105,104,119,28,107,17,16,164,73,107,17,16,215,124,160,69,108,107,17,16,162,72,71,153,62,319,17,85,152,289,172,319,152,246,190,157,152,167,152,276,251,152,161,254,152,298,152,240,164,152,209,152,260,205,152,207,198,103,102,239,122,103,102,196,140,319,103,102,117,103,102,226,201,102,111,204,147,102,248,103,102,190,114,102,159,102,210,155,103,102,157,148,31,168,51,319,31,125,70,69,31,47,46,31,155,130,31,40,134,133,31,178,177,31,119,44,43,31,89,88,31,139,85,84,16,31,86,78,77,319,3,319,74,157,319,68,86,319,64,12,11,5,149,148,142,31,25,12,11,5,105,99,49,44,43,12,11,5,26,21,20,319,12,11,5,136,135,129,110,104,12,11,5,20,14,113,108,107,12,11,5,157,152,151,12,11,5,100,99,93,23,18,17,12,11,5,68,63,62,99,12,11,5,119,113,64,59,58,12,11,5,67,66,60,57,52,51,319,31,319,125,109,319,153,319,34,50,133,18,155,38,18,112,57,56,319,18,34,33,18,142,117,18,27,121,120,18,165,164,18,106,31,30,18,76,75,18,126,72,71,18,73,65,64,121,120,258,257,140,319,121,120,214,158,121,120,135,121,120,245,244,219,121,120,129,222,121,120,266,19,121,120,209,208,132,121,120,177,121,120,228,173,121,120,176,175,166,11,148,31,11,105,49,11,26,319,11,135,110,11,20,113,11,157,11,99,23,11,68,87,11,119,64,11,66,57,18,17,76,155,154,213,37,96,319,18,17,76,111,170,55,115,114,18,17,76,32,92,91,18,17,76,142,141,200,116,175,18,17,76,26,85,119,179,178,18,17,76,163,223,222,18,17,76,106,105,164,29,89,88,18,17,76,74,134,133,18,17,76,125,184,70,130,129,18,17,76,73,72,131,63,123,122,5,4,141,24,5,4,98,42,319,5,4,19,5,4,128,103,4,13,106,4,150,156,5,4,92,16,4,61,4,112,57,5,4,59,50,319,62,81,318,142,135,279,18,162,318,142,92,236,36,181,180,318,142,13,158,157,318,142,122,266,97,241,318,142,7,151,100,245,244,318,142,144,289,288,318,142,86,230,10,155,154,318,142,55,200,199,318,142,106,250,51,196,195,318,142,53,197,44,189,188,18,17,154,37,18,17,111,55,319,18,17,32,18,17,141,116,17,26,119,17,163,92,18,17,105,29,17,74,17,125,70,18,17,72,63,137,136,274,273,156,319,137,136,230,174,137,136,151,137,136,261,260,235,137,136,145,238,137,136,282,137,136,225,224,148,137,136,193,23,137,136,244,189,137,136,192,191,182,34,141,171,278,54,161,34,141,128,235,72,180,179,34,141,49,157,156,319,34,141,158,265,133,240,34,141,43,150,136,244,243,34,141,180,288,287,34,141,122,229,46,154,153,34,141,91,199,198,34,141,142,249,87,195,194,34,141,89,196,80,188,187,54,53,190,73,54,53,147,91,319,54,53,68,54,53,177,152,53,62,155,53,199,1,54,53,141,65,53,110,53,161,106,54,53,108,99};
short Gen_shift_values_BG2_Z_352[1483]= {154,15,96,141,166,51,12,172,1,63,105,61,80,172,351,125,38,53,15,35,87,169,140,15,121,131,103,155,154,15,96,142,141,166,51,13,12,172,2,1,63,105,61,80,172,351,125,39,38,53,15,35,87,169,140,15,122,121,131,103,155,154,16,15,96,142,141,166,51,13,12,172,2,1,64,63,105,62,61,80,172,0,351,125,39,38,54,53,15,36,35,87,170,169,140,15,122,121,132,131,103,154,15,96,141,166,52,51,12,173,172,1,63,105,61,80,173,172,351,126,125,38,53,16,15,35,88,87,169,140,16,15,121,131,104,103,238,237,98,179,85,225,224,249,134,66,96,95,255,85,84,146,188,144,163,255,82,208,122,121,136,98,118,170,252,223,98,205,204,214,186,215,214,75,156,78,202,201,226,111,83,73,72,232,62,61,123,165,121,140,232,59,185,34,99,98,113,75,95,147,102,229,200,75,182,181,191,163,184,183,44,125,46,171,170,195,80,42,41,201,31,30,92,134,90,109,201,28,154,153,68,67,82,44,64,116,9,198,169,44,151,150,160,132,154,202,201,209,62,70,143,151,189,188,196,213,221,98,107,106,47,60,59,67,219,228,227,49,48,56,110,118,152,160,108,116,127,135,219,228,227,46,54,172,181,180,124,86,85,93,100,108,62,71,70,82,90,134,143,142,23,216,224,187,195,62,71,70,169,168,176,178,186,150,159,158,316,315,177,176,257,52,303,302,327,212,30,174,173,333,163,162,225,224,266,223,222,241,333,161,160,286,200,199,215,214,176,197,196,248,331,330,301,176,283,282,293,292,264,253,219,218,114,79,195,160,240,206,205,265,230,150,115,103,111,77,76,271,236,100,66,65,162,127,204,169,160,125,179,144,271,236,98,63,224,189,137,103,102,152,117,114,79,134,99,186,151,268,233,239,204,114,79,141,220,186,185,230,195,202,167,110,24,173,22,295,156,237,90,282,307,193,192,153,314,313,142,204,246,202,221,314,313,140,267,266,179,194,157,156,176,229,228,174,310,281,157,156,262,272,245,244,23,159,158,19,100,146,145,170,55,121,17,16,176,6,5,67,109,10,65,84,176,3,129,43,42,57,19,39,91,173,144,19,126,125,135,107,281,142,223,28,268,293,179,178,90,139,300,299,128,190,232,188,207,300,299,126,253,252,165,180,143,142,162,215,214,296,267,143,142,26,248,258,231,230,163,162,320,23,181,104,262,150,149,307,174,332,59,218,217,10,21,20,178,180,339,338,10,9,167,71,229,113,271,69,227,88,246,180,339,338,7,165,133,292,291,47,46,204,61,219,23,182,181,144,43,201,95,254,253,177,335,148,306,23,182,181,130,129,287,139,297,111,270,269,257,195,194,118,55,199,136,136,244,182,181,269,206,154,91,115,53,52,275,212,104,42,41,166,103,208,145,164,101,183,120,275,212,102,39,228,165,141,79,78,156,93,118,55,138,75,190,127,272,209,243,180,118,55,224,162,161,234,171,206,143,172,171,320,319,32,181,180,113,261,159,158,307,306,183,331,68,216,77,30,29,178,177,189,337,19,18,167,166,80,229,228,122,270,78,227,226,97,245,189,337,16,165,164,142,290,56,55,204,203,70,219,218,32,180,52,201,200,104,252,186,335,334,157,305,32,180,139,138,287,286,148,297,296,120,268,157,217,216,318,317,77,179,178,158,259,204,203,305,304,228,329,113,214,133,75,74,176,175,234,335,64,63,165,164,125,227,226,167,268,123,225,224,142,243,234,335,61,163,162,187,288,22,101,100,202,201,115,217,216,77,178,97,199,198,149,250,231,333,332,202,303,77,178,184,183,285,284,193,295,294,165,266,172,30,21,299,160,241,12,286,311,196,134,157,317,146,208,250,206,225,317,144,270,183,198,160,180,232,314,285,160,266,276,248,328,327,188,269,315,314,339,224,127,186,185,345,175,174,236,278,234,253,345,51,172,298,212,211,226,188,208,260,342,313,188,295,294,304,276,194,55,136,155,181,206,92,91,52,213,212,41,103,145,101,120,213,212,39,166,165,78,93,56,55,75,128,127,209,180,56,55,165,161,171,144,143,17,162,109,131,149,112,107,60,71,135,208,207,299,69,68,160,149,241,195,194,286,219,311,104,197,196,66,65,157,225,318,317,35,55,54,146,117,116,208,158,250,115,114,206,133,225,225,318,317,53,52,144,178,271,270,92,91,183,107,106,198,68,161,160,89,88,180,140,233,232,37,223,222,314,193,285,68,161,160,175,174,266,185,184,276,156,249,248,41,103,63,23,148,138,160,83,172,92,28,302,163,244,289,314,200,199,116,160,321,320,149,211,253,209,228,321,320,147,274,273,186,201,164,163,183,236,235,317,288,164,163,269,279,252,251,297,296,158,157,238,115,284,283,308,193,155,154,314,144,143,206,205,247,204,203,222,314,142,141,267,72,181,180,196,195,157,178,177,229,312,311,282,157,264,263,274,273,245,183,44,125,170,195,80,41,201,104,30,92,134,90,109,201,28,154,67,82,44,64,116,136,198,169,44,150,160,132,196,195,316,57,56,177,137,258,10,183,182,303,207,328,92,214,213,54,53,174,213,335,334,43,42,163,105,104,225,146,267,103,102,223,121,242,213,335,334,41,40,161,166,288,287,80,79,200,95,94,215,56,178,177,77,76,197,128,250,249,211,210,331,181,302,56,178,177,163,162,283,173,172,293,144,266,265,327,326,187,268,314,313,338,223,125,185,184,344,174,173,235,277,233,252,344,171,297,151,211,210,225,187,207,259,341,312,187,294,293,303,275,72,153,128,321,192,182,53,263,134,308,179,333,204,218,90,89,179,50,339,211,210,168,39,230,101,272,143,228,99,247,118,339,211,210,166,37,292,164,163,205,76,220,91,182,54,53,202,73,254,126,125,336,207,307,178,182,54,53,288,159,298,169,270,142,141,174,173,34,115,161,160,185,70,111,32,31,191,21,20,82,124,80,99,191,18,144,6,58,57,72,34,54,106,188,159,34,141,140,150,122,260,259,121,120,201,108,247,246,271,156,118,117,277,107,106,169,168,210,167,166,185,277,105,104,230,144,143,159,158,120,141,140,192,5,275,274,245,120,227,226,237,236,208,310,236,171,97,252,178,297,223,322,248,207,134,133,168,94,328,255,254,159,157,83,219,145,261,187,217,143,236,162,328,255,254,155,81,281,208,207,194,120,209,135,171,98,97,191,117,243,170,169,325,251,296,222,171,98,97,277,203,287,213,259,186,185,163,162,23,104,150,149,174,59,131,21,20,180,10,9,71,113,69,88,180,7,133,5,47,46,61,23,43,95,177,148,23,130,129,139,111};
short Gen_shift_values_BG2_Z_384[1483]= {172,25,23,95,112,134,164,173,64,34,115,46,108,111,90,70,69,29,121,185,116,183,112,26,170,1,184,173,172,25,23,96,95,112,134,165,164,173,65,64,34,115,46,108,111,90,70,70,69,29,121,185,116,183,112,26,171,170,1,184,173,172,26,25,23,96,95,112,134,165,164,173,65,64,35,34,115,47,46,108,111,91,90,70,70,69,30,29,121,186,185,116,184,183,112,26,171,170,2,1,184,172,25,23,95,112,135,134,164,174,173,64,34,115,46,108,112,111,90,71,70,69,29,122,121,185,117,116,183,112,27,26,170,1,185,184,202,201,54,52,71,125,124,141,163,73,194,193,202,94,93,63,144,75,137,140,119,99,99,98,58,150,214,145,212,141,55,200,199,30,213,221,220,73,71,9,144,143,160,182,43,213,212,221,113,112,82,163,94,156,159,138,118,120,118,117,77,169,233,164,79,231,160,74,219,218,49,232,357,356,209,207,128,280,279,296,318,349,348,357,249,248,218,299,230,292,295,274,254,91,254,253,213,305,369,300,99,367,296,210,355,354,185,368,48,275,274,315,127,168,125,166,198,197,238,214,255,236,278,277,79,267,266,307,275,317,316,167,166,207,136,177,217,258,148,189,210,251,213,255,254,192,233,172,214,213,185,172,171,212,131,172,223,265,264,287,328,218,260,259,15,285,326,214,255,128,170,169,273,272,313,103,144,286,328,327,325,324,178,177,175,117,248,247,264,286,69,317,316,325,217,216,187,186,267,199,198,260,263,243,242,222,222,221,182,181,273,338,337,268,336,335,264,178,323,322,154,153,336,357,351,350,210,203,208,201,280,274,273,297,290,319,312,27,349,343,342,358,351,249,243,242,219,212,300,293,231,224,293,286,296,289,275,268,255,248,254,248,247,214,207,306,299,370,363,301,294,368,361,297,290,211,204,131,355,349,348,186,179,369,362,58,103,21,51,326,179,177,31,249,266,289,288,318,328,327,218,188,269,200,262,266,265,244,225,224,223,183,276,275,339,271,270,91,337,266,181,180,324,155,339,338,173,184,183,36,34,107,106,123,145,38,176,175,184,76,75,45,126,92,57,119,122,101,81,81,80,40,132,196,127,194,123,37,182,181,12,195,338,191,189,48,261,278,301,300,124,330,340,339,230,200,281,212,274,278,277,256,237,236,235,195,288,287,351,283,282,349,278,193,192,34,336,167,351,350,194,193,335,46,188,44,186,117,116,258,133,275,155,298,297,18,186,185,327,194,337,336,86,85,227,55,197,136,278,67,209,129,271,132,275,274,111,253,91,234,233,91,90,232,50,192,142,285,284,117,206,348,137,280,279,204,346,133,275,47,190,189,192,191,333,22,164,205,348,347,235,254,253,88,106,86,104,67,158,177,176,175,193,197,215,227,246,245,236,254,127,146,145,97,115,178,196,109,127,171,189,174,192,153,171,133,151,132,151,150,92,110,184,202,248,266,179,197,246,264,175,193,89,107,233,252,251,64,82,247,265,308,307,237,236,160,90,89,158,87,231,230,160,159,247,176,269,198,86,300,299,229,228,308,237,200,199,129,128,169,99,98,250,179,181,111,110,243,172,246,175,225,155,154,205,134,205,204,134,133,164,94,93,256,185,320,250,249,251,180,318,248,247,247,176,161,90,306,305,235,234,136,66,65,319,248,176,182,181,179,178,34,32,31,32,29,105,104,102,101,121,118,143,140,157,174,173,171,170,182,179,74,73,71,70,43,41,40,124,121,55,53,52,117,114,120,117,99,97,96,79,76,22,79,78,76,75,38,36,35,130,127,194,192,191,125,122,192,190,189,121,118,35,32,180,179,177,176,10,8,7,193,190,185,5,45,328,181,179,57,251,268,290,41,320,329,220,190,271,202,264,267,246,226,225,185,277,341,272,339,268,182,326,157,340,326,325,178,176,249,248,265,287,75,318,317,326,218,217,187,268,199,261,264,60,243,223,223,222,182,274,338,269,336,265,179,324,323,154,337,239,92,90,156,162,179,202,201,231,241,240,131,101,182,113,175,179,178,157,138,137,136,96,189,188,252,184,183,250,179,94,93,174,237,68,252,251,19,51,105,85,94,181,152,63,44,20,228,227,257,81,80,110,78,108,151,150,180,167,197,189,220,219,220,219,249,228,259,258,66,120,119,149,90,89,119,170,200,102,101,131,163,193,166,197,196,146,145,175,125,156,155,125,124,154,85,84,114,176,207,206,241,240,270,171,202,201,136,239,238,268,167,197,81,112,111,226,225,255,57,56,86,239,270,269,102,49,69,110,167,109,16,119,153,51,55,342,195,193,265,282,305,304,2,334,344,343,234,204,285,216,278,282,281,260,241,240,239,199,292,291,355,287,286,353,282,197,196,340,171,355,354,190,189,43,42,40,83,113,112,129,151,182,181,190,82,81,52,51,132,64,63,125,128,108,107,87,7,87,86,47,46,138,203,202,133,201,200,129,43,188,187,19,18,201,296,149,147,219,236,258,288,297,164,188,158,239,170,232,235,214,194,193,153,245,309,240,178,307,236,150,294,125,308,350,349,184,203,202,37,200,35,172,273,272,107,289,124,311,147,146,342,341,176,350,186,185,242,241,76,212,211,46,292,127,224,223,58,285,120,288,124,123,268,267,102,247,83,82,247,246,81,207,206,41,298,134,133,363,362,197,293,129,128,361,360,195,289,124,203,39,38,348,347,182,179,178,13,361,197,196,191,190,43,41,114,113,130,152,76,183,182,191,83,82,52,133,64,126,129,108,88,183,88,87,47,139,203,134,201,130,44,189,188,19,202,24,150,169,209,203,62,56,60,54,132,126,149,143,171,166,165,201,195,210,205,204,101,95,71,65,152,146,83,77,145,139,148,143,142,127,121,107,102,101,106,100,66,60,158,153,152,222,216,153,148,147,220,214,149,143,63,58,57,207,201,38,32,221,216,215,363,362,215,213,286,285,302,324,83,355,354,363,255,254,224,305,236,298,301,280,260,150,260,259,219,311,375,306,373,302,216,361,360,191,374,230,229,83,82,80,92,153,152,169,191,222,221,230,122,121,92,91,172,104,103,165,168,148,147,127,127,126,87,86,178,243,242,173,131,241,240,169,83,228,227,59,58,241,279,335,132,188,130,186,202,258,219,275,241,298,297,271,327,280,337,336,102,171,227,141,197,222,278,153,209,215,271,218,275,274,197,253,177,234,233,176,232,136,192,228,285,284,292,348,223,280,279,290,346,219,275,133,190,189,277,333,108,164,291,348,347,233,232,85,83,156,155,172,194,146,225,224,233,125,124,94,175,106,168,171,150,130,6,130,129,89,181,245,176,243,172,86,231,230,61,244};
\ No newline at end of file
short Gen_shift_values_BG2_Z_384[1483]= {172,25,23,95,112,134,164,173,64,34,115,46,108,111,90,70,69,29,121,185,116,183,112,26,170,1,184,173,172,25,23,96,95,112,134,165,164,173,65,64,34,115,46,108,111,90,70,70,69,29,121,185,116,183,112,26,171,170,1,184,173,172,26,25,23,96,95,112,134,165,164,173,65,64,35,34,115,47,46,108,111,91,90,70,70,69,30,29,121,186,185,116,184,183,112,26,171,170,2,1,184,172,25,23,95,112,135,134,164,174,173,64,34,115,46,108,112,111,90,71,70,69,29,122,121,185,117,116,183,112,27,26,170,1,185,184,202,201,54,52,71,125,124,141,163,73,194,193,202,94,93,63,144,75,137,140,119,99,99,98,58,150,214,145,212,141,55,200,199,30,213,221,220,73,71,9,144,143,160,182,43,213,212,221,113,112,82,163,94,156,159,138,118,120,118,117,77,169,233,164,79,231,160,74,219,218,49,232,357,356,209,207,128,280,279,296,318,349,348,357,249,248,218,299,230,292,295,274,254,91,254,253,213,305,369,300,99,367,296,210,355,354,185,368,48,275,274,315,127,168,125,166,198,197,238,214,255,236,278,277,79,267,266,307,275,317,316,167,166,207,136,177,217,258,148,189,210,251,213,255,254,192,233,172,214,213,185,172,171,212,131,172,223,265,264,287,328,218,260,259,15,285,326,214,255,128,170,169,273,272,313,103,144,286,328,327,325,324,178,177,175,117,248,247,264,286,69,317,316,325,217,216,187,186,267,199,198,260,263,243,242,222,222,221,182,181,273,338,337,268,336,335,264,178,323,322,154,153,336,357,351,350,210,203,208,201,280,274,273,297,290,319,312,27,349,343,342,358,351,249,243,242,219,212,300,293,231,224,293,286,296,289,275,268,255,248,254,248,247,214,207,306,299,370,363,301,294,368,361,297,290,211,204,131,355,349,348,186,179,369,362,58,103,21,51,326,179,177,31,249,266,289,288,318,328,327,218,188,269,200,262,266,265,244,225,224,223,183,276,275,339,271,270,91,337,266,181,180,324,155,339,338,173,184,183,36,34,107,106,123,145,38,176,175,184,76,75,45,126,92,57,119,122,101,81,81,80,40,132,196,127,194,123,37,182,181,12,195,338,191,189,48,261,278,301,300,124,330,340,339,230,200,281,212,274,278,277,256,237,236,235,195,288,287,351,283,282,349,278,193,192,34,336,167,351,350,194,193,335,46,188,44,186,117,116,258,133,275,155,298,297,18,186,185,327,194,337,336,86,85,227,55,197,136,278,67,209,129,271,132,275,274,111,253,91,234,233,91,90,232,50,192,142,285,284,117,206,348,137,280,279,204,346,133,275,47,190,189,192,191,333,22,164,205,348,347,235,254,253,88,106,86,104,67,158,177,176,175,193,197,215,227,246,245,236,254,127,146,145,97,115,178,196,109,127,171,189,174,192,153,171,133,151,132,151,150,92,110,184,202,248,266,179,197,246,264,175,193,89,107,233,252,251,64,82,247,265,308,307,237,236,160,90,89,158,87,231,230,160,159,247,176,269,198,86,300,299,229,228,308,237,200,199,129,128,169,99,98,250,179,181,111,110,243,172,246,175,225,155,154,205,134,205,204,134,133,164,94,93,256,185,320,250,249,251,180,318,248,247,247,176,161,90,306,305,235,234,136,66,65,319,248,176,182,181,179,178,34,32,31,32,29,105,104,102,101,121,118,143,140,157,174,173,171,170,182,179,74,73,71,70,43,41,40,124,121,55,53,52,117,114,120,117,99,97,96,79,76,22,79,78,76,75,38,36,35,130,127,194,192,191,125,122,192,190,189,121,118,35,32,180,179,177,176,10,8,7,193,190,185,5,45,328,181,179,57,251,268,290,41,320,329,220,190,271,202,264,267,246,226,225,185,277,341,272,339,268,182,326,157,340,326,325,178,176,249,248,265,287,75,318,317,326,218,217,187,268,199,261,264,60,243,223,223,222,182,274,338,269,336,265,179,324,323,154,337,239,92,90,156,162,179,202,201,231,241,240,131,101,182,113,175,179,178,157,138,137,136,96,189,188,252,184,183,250,179,94,93,174,237,68,252,251,19,51,105,85,94,181,152,63,44,20,228,227,257,81,80,110,78,108,151,150,180,167,197,189,220,219,220,219,249,228,259,258,66,120,119,149,90,89,119,170,200,102,101,131,163,193,166,197,196,146,145,175,125,156,155,125,124,154,85,84,114,176,207,206,241,240,270,171,202,201,136,239,238,268,167,197,81,112,111,226,225,255,57,56,86,239,270,269,102,49,69,110,167,109,16,119,153,51,55,342,195,193,265,282,305,304,2,334,344,343,234,204,285,216,278,282,281,260,241,240,239,199,292,291,355,287,286,353,282,197,196,340,171,355,354,190,189,43,42,40,83,113,112,129,151,182,181,190,82,81,52,51,132,64,63,125,128,108,107,87,7,87,86,47,46,138,203,202,133,201,200,129,43,188,187,19,18,201,296,149,147,219,236,258,288,297,164,188,158,239,170,232,235,214,194,193,153,245,309,240,178,307,236,150,294,125,308,350,349,184,203,202,37,200,35,172,273,272,107,289,124,311,147,146,342,341,176,350,186,185,242,241,76,212,211,46,292,127,224,223,58,285,120,288,124,123,268,267,102,247,83,82,247,246,81,207,206,41,298,134,133,363,362,197,293,129,128,361,360,195,289,124,203,39,38,348,347,182,179,178,13,361,197,196,191,190,43,41,114,113,130,152,76,183,182,191,83,82,52,133,64,126,129,108,88,183,88,87,47,139,203,134,201,130,44,189,188,19,202,24,150,169,209,203,62,56,60,54,132,126,149,143,171,166,165,201,195,210,205,204,101,95,71,65,152,146,83,77,145,139,148,143,142,127,121,107,102,101,106,100,66,60,158,153,152,222,216,153,148,147,220,214,149,143,63,58,57,207,201,38,32,221,216,215,363,362,215,213,286,285,302,324,83,355,354,363,255,254,224,305,236,298,301,280,260,150,260,259,219,311,375,306,373,302,216,361,360,191,374,230,229,83,82,80,92,153,152,169,191,222,221,230,122,121,92,91,172,104,103,165,168,148,147,127,127,126,87,86,178,243,242,173,131,241,240,169,83,228,227,59,58,241,279,335,132,188,130,186,202,258,219,275,241,298,297,271,327,280,337,336,102,171,227,141,197,222,278,153,209,215,271,218,275,274,197,253,177,234,233,176,232,136,192,228,285,284,292,348,223,280,279,290,346,219,275,133,190,189,277,333,108,164,291,348,347,233,232,85,83,156,155,172,194,146,225,224,233,125,124,94,175,106,168,171,150,130,6,130,129,89,181,245,176,243,172,86,231,230,61,244};
/*
* 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.0 (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 ldpc_encoder.c
* \brief Defines the LDPC encoder
* \author Florian Kaltenberger, Raymond Knopp, Kien le Trung (Eurecom)
* \email openair_tech@eurecom.fr
* \date 27-03-2018
* \version 1.0
* \note
* \warning
*/
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
......
/*
* 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.0 (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 ldpc_encoder2.c
* \brief Defines the optimized LDPC encoder
* \author Florian Kaltenberger, Raymond Knopp, Kien le Trung (Eurecom)
* \email openair_tech@eurecom.fr
* \date 27-03-2018
* \version 1.0
* \note
* \warning
*/
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
......
/*
* 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.0 (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 ldpc_generate_coefficient.c
* \brief Generates the optimized LDPC encoder
* \author Florian Kaltenberger, Raymond Knopp, Kien le Trung (Eurecom)
* \email openair_tech@eurecom.fr
* \date 27-03-2018
* \version 1.0
* \note
* \warning
*/
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment