/* * Copyright (c) 2016-2017, Luca Fulchir, All rights reserved. * * This file is part of "libRaptorQ". * * libRaptorQ is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. * * libRaptorQ is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * and a copy of the GNU Lesser General Public License * along with libRaptorQ. If not, see . */ #pragma once // check the full list with RFC6330 #ifdef __cplusplus #include #include #include #else #include #include #endif typedef enum { RQ_Block_10 = 10, RQ_Block_12 = 12, RQ_Block_18 = 18, RQ_Block_20 = 20, RQ_Block_26 = 26, RQ_Block_30 = 30, RQ_Block_32 = 32, RQ_Block_36 = 36, RQ_Block_42 = 42, RQ_Block_46 = 46, RQ_Block_48 = 48, RQ_Block_49 = 49, RQ_Block_55 = 55, RQ_Block_60 = 60, RQ_Block_62 = 62, RQ_Block_69 = 69, RQ_Block_75 = 75, RQ_Block_84 = 84, RQ_Block_88 = 88, RQ_Block_91 = 91, RQ_Block_95 = 95, RQ_Block_97 = 97, RQ_Block_101 = 101, RQ_Block_114 = 114, RQ_Block_119 = 119, RQ_Block_125 = 125, RQ_Block_127 = 127, RQ_Block_138 = 138, RQ_Block_140 = 140, RQ_Block_149 = 149, RQ_Block_153 = 153, RQ_Block_160 = 160, RQ_Block_166 = 166, RQ_Block_168 = 168, RQ_Block_179 = 179, RQ_Block_181 = 181, RQ_Block_185 = 185, RQ_Block_187 = 187, RQ_Block_200 = 200, RQ_Block_213 = 213, RQ_Block_217 = 217, RQ_Block_225 = 225, RQ_Block_236 = 236, RQ_Block_242 = 242, RQ_Block_248 = 248, RQ_Block_257 = 257, RQ_Block_263 = 263, RQ_Block_269 = 269, RQ_Block_280 = 280, RQ_Block_295 = 295, RQ_Block_301 = 301, RQ_Block_305 = 305, RQ_Block_324 = 324, RQ_Block_337 = 337, RQ_Block_341 = 341, RQ_Block_347 = 347, RQ_Block_355 = 355, RQ_Block_362 = 362, RQ_Block_368 = 368, RQ_Block_372 = 372, RQ_Block_380 = 380, RQ_Block_385 = 385, RQ_Block_393 = 393, RQ_Block_405 = 405, RQ_Block_418 = 418, RQ_Block_428 = 428, RQ_Block_434 = 434, RQ_Block_447 = 447, RQ_Block_453 = 453, RQ_Block_466 = 466, RQ_Block_478 = 478, RQ_Block_486 = 486, RQ_Block_491 = 491, RQ_Block_497 = 497, RQ_Block_511 = 511, RQ_Block_526 = 526, RQ_Block_532 = 532, RQ_Block_542 = 542, RQ_Block_549 = 549, RQ_Block_557 = 557, RQ_Block_563 = 563, RQ_Block_573 = 573, RQ_Block_580 = 580, RQ_Block_588 = 588, RQ_Block_594 = 594, RQ_Block_600 = 600, RQ_Block_606 = 606, RQ_Block_619 = 619, RQ_Block_633 = 633, RQ_Block_640 = 640, RQ_Block_648 = 648, RQ_Block_666 = 666, RQ_Block_675 = 675, RQ_Block_685 = 685, RQ_Block_693 = 693, RQ_Block_703 = 703, RQ_Block_718 = 718, RQ_Block_728 = 728, RQ_Block_736 = 736, RQ_Block_747 = 747, RQ_Block_759 = 759, RQ_Block_778 = 778, RQ_Block_792 = 792, RQ_Block_802 = 802, RQ_Block_811 = 811, RQ_Block_821 = 821, RQ_Block_835 = 835, RQ_Block_845 = 845, RQ_Block_860 = 860, RQ_Block_870 = 870, RQ_Block_891 = 891, RQ_Block_903 = 903, RQ_Block_913 = 913, RQ_Block_926 = 926, RQ_Block_938 = 938, RQ_Block_950 = 950, RQ_Block_963 = 963, RQ_Block_977 = 977, RQ_Block_989 = 989, RQ_Block_1002 = 1002, RQ_Block_1020 = 1020, RQ_Block_1032 = 1032, RQ_Block_1050 = 1050, RQ_Block_1074 = 1074, RQ_Block_1085 = 1085, RQ_Block_1099 = 1099, RQ_Block_1111 = 1111, RQ_Block_1136 = 1136, RQ_Block_1152 = 1152, RQ_Block_1169 = 1169, RQ_Block_1183 = 1183, RQ_Block_1205 = 1205, RQ_Block_1220 = 1220, RQ_Block_1236 = 1236, RQ_Block_1255 = 1255, RQ_Block_1269 = 1269, RQ_Block_1285 = 1285, RQ_Block_1306 = 1306, RQ_Block_1347 = 1347, RQ_Block_1361 = 1361, RQ_Block_1389 = 1389, RQ_Block_1404 = 1404, RQ_Block_1420 = 1420, RQ_Block_1436 = 1436, RQ_Block_1461 = 1461, RQ_Block_1477 = 1477, RQ_Block_1502 = 1502, RQ_Block_1522 = 1522, RQ_Block_1539 = 1539, RQ_Block_1561 = 1561, RQ_Block_1579 = 1579, RQ_Block_1600 = 1600, RQ_Block_1616 = 1616, RQ_Block_1649 = 1649, RQ_Block_1673 = 1673, RQ_Block_1698 = 1698, RQ_Block_1716 = 1716, RQ_Block_1734 = 1734, RQ_Block_1759 = 1759, RQ_Block_1777 = 1777, RQ_Block_1800 = 1800, RQ_Block_1824 = 1824, RQ_Block_1844 = 1844, RQ_Block_1863 = 1863, RQ_Block_1887 = 1887, RQ_Block_1906 = 1906, RQ_Block_1926 = 1926, RQ_Block_1954 = 1954, RQ_Block_1979 = 1979, RQ_Block_2005 = 2005, RQ_Block_2040 = 2040, RQ_Block_2070 = 2070, RQ_Block_2103 = 2103, RQ_Block_2125 = 2125, RQ_Block_2152 = 2152, RQ_Block_2195 = 2195, RQ_Block_2217 = 2217, RQ_Block_2247 = 2247, RQ_Block_2278 = 2278, RQ_Block_2315 = 2315, RQ_Block_2339 = 2339, RQ_Block_2367 = 2367, RQ_Block_2392 = 2392, RQ_Block_2416 = 2416, RQ_Block_2447 = 2447, RQ_Block_2473 = 2473, RQ_Block_2502 = 2502, RQ_Block_2528 = 2528, RQ_Block_2565 = 2565, RQ_Block_2601 = 2601, RQ_Block_2640 = 2640, RQ_Block_2668 = 2668, RQ_Block_2701 = 2701, RQ_Block_2737 = 2737, RQ_Block_2772 = 2772, RQ_Block_2802 = 2802, RQ_Block_2831 = 2831, RQ_Block_2875 = 2875, RQ_Block_2906 = 2906, RQ_Block_2938 = 2938, RQ_Block_2979 = 2979, RQ_Block_3015 = 3015, RQ_Block_3056 = 3056, RQ_Block_3101 = 3101, RQ_Block_3151 = 3151, RQ_Block_3186 = 3186, RQ_Block_3224 = 3224, RQ_Block_3265 = 3265, RQ_Block_3299 = 3299, RQ_Block_3344 = 3344, RQ_Block_3387 = 3387, RQ_Block_3423 = 3423, RQ_Block_3466 = 3466, RQ_Block_3502 = 3502, RQ_Block_3539 = 3539, RQ_Block_3579 = 3579, RQ_Block_3616 = 3616, RQ_Block_3658 = 3658, RQ_Block_3697 = 3697, RQ_Block_3751 = 3751, RQ_Block_3792 = 3792, RQ_Block_3840 = 3840, RQ_Block_3883 = 3883, RQ_Block_3924 = 3924, RQ_Block_3970 = 3970, RQ_Block_4015 = 4015, RQ_Block_4069 = 4069, RQ_Block_4112 = 4112, RQ_Block_4165 = 4165, RQ_Block_4207 = 4207, RQ_Block_4252 = 4252, RQ_Block_4318 = 4318, RQ_Block_4365 = 4365, RQ_Block_4418 = 4418, RQ_Block_4468 = 4468, RQ_Block_4513 = 4513, RQ_Block_4567 = 4567, RQ_Block_4626 = 4626, RQ_Block_4681 = 4681, RQ_Block_4731 = 4731, RQ_Block_4780 = 4780, RQ_Block_4838 = 4838, RQ_Block_4901 = 4901, RQ_Block_4954 = 4954, RQ_Block_5008 = 5008, RQ_Block_5063 = 5063, RQ_Block_5116 = 5116, RQ_Block_5172 = 5172, RQ_Block_5225 = 5225, RQ_Block_5279 = 5279, RQ_Block_5334 = 5334, RQ_Block_5391 = 5391, RQ_Block_5449 = 5449, RQ_Block_5506 = 5506, RQ_Block_5566 = 5566, RQ_Block_5637 = 5637, RQ_Block_5694 = 5694, RQ_Block_5763 = 5763, RQ_Block_5823 = 5823, RQ_Block_5896 = 5896, RQ_Block_5975 = 5975, RQ_Block_6039 = 6039, RQ_Block_6102 = 6102, RQ_Block_6169 = 6169, RQ_Block_6233 = 6233, RQ_Block_6296 = 6296, RQ_Block_6363 = 6363, RQ_Block_6427 = 6427, RQ_Block_6518 = 6518, RQ_Block_6589 = 6589, RQ_Block_6655 = 6655, RQ_Block_6730 = 6730, RQ_Block_6799 = 6799, RQ_Block_6878 = 6878, RQ_Block_6956 = 6956, RQ_Block_7033 = 7033, RQ_Block_7108 = 7108, RQ_Block_7185 = 7185, RQ_Block_7281 = 7281, RQ_Block_7360 = 7360, RQ_Block_7445 = 7445, RQ_Block_7520 = 7520, RQ_Block_7596 = 7596, RQ_Block_7675 = 7675, RQ_Block_7770 = 7770, RQ_Block_7855 = 7855, RQ_Block_7935 = 7935, RQ_Block_8030 = 8030, RQ_Block_8111 = 8111, RQ_Block_8194 = 8194, RQ_Block_8290 = 8290, RQ_Block_8377 = 8377, RQ_Block_8474 = 8474, RQ_Block_8559 = 8559, RQ_Block_8654 = 8654, RQ_Block_8744 = 8744, RQ_Block_8837 = 8837, RQ_Block_8928 = 8928, RQ_Block_9019 = 9019, RQ_Block_9111 = 9111, RQ_Block_9206 = 9206, RQ_Block_9303 = 9303, RQ_Block_9400 = 9400, RQ_Block_9497 = 9497, RQ_Block_9601 = 9601, RQ_Block_9708 = 9708, RQ_Block_9813 = 9813, RQ_Block_9916 = 9916, RQ_Block_10017 = 10017, RQ_Block_10120 = 10120, RQ_Block_10241 = 10241, RQ_Block_10351 = 10351, RQ_Block_10458 = 10458, RQ_Block_10567 = 10567, RQ_Block_10676 = 10676, RQ_Block_10787 = 10787, RQ_Block_10899 = 10899, RQ_Block_11015 = 11015, RQ_Block_11130 = 11130, RQ_Block_11245 = 11245, RQ_Block_11358 = 11358, RQ_Block_11475 = 11475, RQ_Block_11590 = 11590, RQ_Block_11711 = 11711, RQ_Block_11829 = 11829, RQ_Block_11956 = 11956, RQ_Block_12087 = 12087, RQ_Block_12208 = 12208, RQ_Block_12333 = 12333, RQ_Block_12460 = 12460, RQ_Block_12593 = 12593, RQ_Block_12726 = 12726, RQ_Block_12857 = 12857, RQ_Block_13002 = 13002, RQ_Block_13143 = 13143, RQ_Block_13284 = 13284, RQ_Block_13417 = 13417, RQ_Block_13558 = 13558, RQ_Block_13695 = 13695, RQ_Block_13833 = 13833, RQ_Block_13974 = 13974, RQ_Block_14115 = 14115, RQ_Block_14272 = 14272, RQ_Block_14415 = 14415, RQ_Block_14560 = 14560, RQ_Block_14713 = 14713, RQ_Block_14862 = 14862, RQ_Block_15011 = 15011, RQ_Block_15170 = 15170, RQ_Block_15325 = 15325, RQ_Block_15496 = 15496, RQ_Block_15651 = 15651, RQ_Block_15808 = 15808, RQ_Block_15977 = 15977, RQ_Block_16161 = 16161, RQ_Block_16336 = 16336, RQ_Block_16505 = 16505, RQ_Block_16674 = 16674, RQ_Block_16851 = 16851, RQ_Block_17024 = 17024, RQ_Block_17195 = 17195, RQ_Block_17376 = 17376, RQ_Block_17559 = 17559, RQ_Block_17742 = 17742, RQ_Block_17929 = 17929, RQ_Block_18116 = 18116, RQ_Block_18309 = 18309, RQ_Block_18503 = 18503, RQ_Block_18694 = 18694, RQ_Block_18909 = 18909, RQ_Block_19126 = 19126, RQ_Block_19325 = 19325, RQ_Block_19539 = 19539, RQ_Block_19740 = 19740, RQ_Block_19939 = 19939, RQ_Block_20152 = 20152, RQ_Block_20355 = 20355, RQ_Block_20564 = 20564, RQ_Block_20778 = 20778, RQ_Block_20988 = 20988, RQ_Block_21199 = 21199, RQ_Block_21412 = 21412, RQ_Block_21629 = 21629, RQ_Block_21852 = 21852, RQ_Block_22073 = 22073, RQ_Block_22301 = 22301, RQ_Block_22536 = 22536, RQ_Block_22779 = 22779, RQ_Block_23010 = 23010, RQ_Block_23252 = 23252, RQ_Block_23491 = 23491, RQ_Block_23730 = 23730, RQ_Block_23971 = 23971, RQ_Block_24215 = 24215, RQ_Block_24476 = 24476, RQ_Block_24721 = 24721, RQ_Block_24976 = 24976, RQ_Block_25230 = 25230, RQ_Block_25493 = 25493, RQ_Block_25756 = 25756, RQ_Block_26022 = 26022, RQ_Block_26291 = 26291, RQ_Block_26566 = 26566, RQ_Block_26838 = 26838, RQ_Block_27111 = 27111, RQ_Block_27392 = 27392, RQ_Block_27682 = 27682, RQ_Block_27959 = 27959, RQ_Block_28248 = 28248, RQ_Block_28548 = 28548, RQ_Block_28845 = 28845, RQ_Block_29138 = 29138, RQ_Block_29434 = 29434, RQ_Block_29731 = 29731, RQ_Block_30037 = 30037, RQ_Block_30346 = 30346, RQ_Block_30654 = 30654, RQ_Block_30974 = 30974, RQ_Block_31285 = 31285, RQ_Block_31605 = 31605, RQ_Block_31948 = 31948, RQ_Block_32272 = 32272, RQ_Block_32601 = 32601, RQ_Block_32932 = 32932, RQ_Block_33282 = 33282, RQ_Block_33623 = 33623, RQ_Block_33961 = 33961, RQ_Block_34302 = 34302, RQ_Block_34654 = 34654, RQ_Block_35031 = 35031, RQ_Block_35395 = 35395, RQ_Block_35750 = 35750, RQ_Block_36112 = 36112, RQ_Block_36479 = 36479, RQ_Block_36849 = 36849, RQ_Block_37227 = 37227, RQ_Block_37606 = 37606, RQ_Block_37992 = 37992, RQ_Block_38385 = 38385, RQ_Block_38787 = 38787, RQ_Block_39176 = 39176, RQ_Block_39576 = 39576, RQ_Block_39980 = 39980, RQ_Block_40398 = 40398, RQ_Block_40816 = 40816, RQ_Block_41226 = 41226, RQ_Block_41641 = 41641, RQ_Block_42067 = 42067, RQ_Block_42490 = 42490, RQ_Block_42916 = 42916, RQ_Block_43388 = 43388, RQ_Block_43840 = 43840, RQ_Block_44279 = 44279, RQ_Block_44729 = 44729, RQ_Block_45183 = 45183, RQ_Block_45638 = 45638, RQ_Block_46104 = 46104, RQ_Block_46574 = 46574, RQ_Block_47047 = 47047, RQ_Block_47523 = 47523, RQ_Block_48007 = 48007, RQ_Block_48489 = 48489, RQ_Block_48976 = 48976, RQ_Block_49470 = 49470, RQ_Block_49978 = 49978, RQ_Block_50511 = 50511, RQ_Block_51017 = 51017, RQ_Block_51530 = 51530, RQ_Block_52062 = 52062, RQ_Block_52586 = 52586, RQ_Block_53114 = 53114, RQ_Block_53650 = 53650, RQ_Block_54188 = 54188, RQ_Block_54735 = 54735, RQ_Block_55289 = 55289, RQ_Block_55843 = 55843, RQ_Block_56403 = 56403 } RaptorQ_Block_Size; // I really do not like this code duplication, but sometimes code duplication // is better than trying to reference C++ code. // NOTE: ENUM in C is strictly defined as integer. // in C++ we force the uint16_t as a limit. duplicate it all. SHIT. static const uint16_t RQ_blocks_size = 477; static const RaptorQ_Block_Size RQ_blocks[477] = { RQ_Block_10, RQ_Block_12, RQ_Block_18, RQ_Block_20, RQ_Block_26, RQ_Block_30, RQ_Block_32, RQ_Block_36, RQ_Block_42, RQ_Block_46, RQ_Block_48, RQ_Block_49, RQ_Block_55, RQ_Block_60, RQ_Block_62, RQ_Block_69, RQ_Block_75, RQ_Block_84, RQ_Block_88, RQ_Block_91, RQ_Block_95, RQ_Block_97, RQ_Block_101, RQ_Block_114, RQ_Block_119, RQ_Block_125, RQ_Block_127, RQ_Block_138, RQ_Block_140, RQ_Block_149, RQ_Block_153, RQ_Block_160, RQ_Block_166, RQ_Block_168, RQ_Block_179, RQ_Block_181, RQ_Block_185, RQ_Block_187, RQ_Block_200, RQ_Block_213, RQ_Block_217, RQ_Block_225, RQ_Block_236, RQ_Block_242, RQ_Block_248, RQ_Block_257, RQ_Block_263, RQ_Block_269, RQ_Block_280, RQ_Block_295, RQ_Block_301, RQ_Block_305, RQ_Block_324, RQ_Block_337, RQ_Block_341, RQ_Block_347, RQ_Block_355, RQ_Block_362, RQ_Block_368, RQ_Block_372, RQ_Block_380, RQ_Block_385, RQ_Block_393, RQ_Block_405, RQ_Block_418, RQ_Block_428, RQ_Block_434, RQ_Block_447, RQ_Block_453, RQ_Block_466, RQ_Block_478, RQ_Block_486, RQ_Block_491, RQ_Block_497, RQ_Block_511, RQ_Block_526, RQ_Block_532, RQ_Block_542, RQ_Block_549, RQ_Block_557, RQ_Block_563, RQ_Block_573, RQ_Block_580, RQ_Block_588, RQ_Block_594, RQ_Block_600, RQ_Block_606, RQ_Block_619, RQ_Block_633, RQ_Block_640, RQ_Block_648, RQ_Block_666, RQ_Block_675, RQ_Block_685, RQ_Block_693, RQ_Block_703, RQ_Block_718, RQ_Block_728, RQ_Block_736, RQ_Block_747, RQ_Block_759, RQ_Block_778, RQ_Block_792, RQ_Block_802, RQ_Block_811, RQ_Block_821, RQ_Block_835, RQ_Block_845, RQ_Block_860, RQ_Block_870, RQ_Block_891, RQ_Block_903, RQ_Block_913, RQ_Block_926, RQ_Block_938, RQ_Block_950, RQ_Block_963, RQ_Block_977, RQ_Block_989, RQ_Block_1002, RQ_Block_1020, RQ_Block_1032, RQ_Block_1050, RQ_Block_1074, RQ_Block_1085, RQ_Block_1099, RQ_Block_1111, RQ_Block_1136, RQ_Block_1152, RQ_Block_1169, RQ_Block_1183, RQ_Block_1205, RQ_Block_1220, RQ_Block_1236, RQ_Block_1255, RQ_Block_1269, RQ_Block_1285, RQ_Block_1306, RQ_Block_1347, RQ_Block_1361, RQ_Block_1389, RQ_Block_1404, RQ_Block_1420, RQ_Block_1436, RQ_Block_1461, RQ_Block_1477, RQ_Block_1502, RQ_Block_1522, RQ_Block_1539, RQ_Block_1561, RQ_Block_1579, RQ_Block_1600, RQ_Block_1616, RQ_Block_1649, RQ_Block_1673, RQ_Block_1698, RQ_Block_1716, RQ_Block_1734, RQ_Block_1759, RQ_Block_1777, RQ_Block_1800, RQ_Block_1824, RQ_Block_1844, RQ_Block_1863, RQ_Block_1887, RQ_Block_1906, RQ_Block_1926, RQ_Block_1954, RQ_Block_1979, RQ_Block_2005, RQ_Block_2040, RQ_Block_2070, RQ_Block_2103, RQ_Block_2125, RQ_Block_2152, RQ_Block_2195, RQ_Block_2217, RQ_Block_2247, RQ_Block_2278, RQ_Block_2315, RQ_Block_2339, RQ_Block_2367, RQ_Block_2392, RQ_Block_2416, RQ_Block_2447, RQ_Block_2473, RQ_Block_2502, RQ_Block_2528, RQ_Block_2565, RQ_Block_2601, RQ_Block_2640, RQ_Block_2668, RQ_Block_2701, RQ_Block_2737, RQ_Block_2772, RQ_Block_2802, RQ_Block_2831, RQ_Block_2875, RQ_Block_2906, RQ_Block_2938, RQ_Block_2979, RQ_Block_3015, RQ_Block_3056, RQ_Block_3101, RQ_Block_3151, RQ_Block_3186, RQ_Block_3224, RQ_Block_3265, RQ_Block_3299, RQ_Block_3344, RQ_Block_3387, RQ_Block_3423, RQ_Block_3466, RQ_Block_3502, RQ_Block_3539, RQ_Block_3579, RQ_Block_3616, RQ_Block_3658, RQ_Block_3697, RQ_Block_3751, RQ_Block_3792, RQ_Block_3840, RQ_Block_3883, RQ_Block_3924, RQ_Block_3970, RQ_Block_4015, RQ_Block_4069, RQ_Block_4112, RQ_Block_4165, RQ_Block_4207, RQ_Block_4252, RQ_Block_4318, RQ_Block_4365, RQ_Block_4418, RQ_Block_4468, RQ_Block_4513, RQ_Block_4567, RQ_Block_4626, RQ_Block_4681, RQ_Block_4731, RQ_Block_4780, RQ_Block_4838, RQ_Block_4901, RQ_Block_4954, RQ_Block_5008, RQ_Block_5063, RQ_Block_5116, RQ_Block_5172, RQ_Block_5225, RQ_Block_5279, RQ_Block_5334, RQ_Block_5391, RQ_Block_5449, RQ_Block_5506, RQ_Block_5566, RQ_Block_5637, RQ_Block_5694, RQ_Block_5763, RQ_Block_5823, RQ_Block_5896, RQ_Block_5975, RQ_Block_6039, RQ_Block_6102, RQ_Block_6169, RQ_Block_6233, RQ_Block_6296, RQ_Block_6363, RQ_Block_6427, RQ_Block_6518, RQ_Block_6589, RQ_Block_6655, RQ_Block_6730, RQ_Block_6799, RQ_Block_6878, RQ_Block_6956, RQ_Block_7033, RQ_Block_7108, RQ_Block_7185, RQ_Block_7281, RQ_Block_7360, RQ_Block_7445, RQ_Block_7520, RQ_Block_7596, RQ_Block_7675, RQ_Block_7770, RQ_Block_7855, RQ_Block_7935, RQ_Block_8030, RQ_Block_8111, RQ_Block_8194, RQ_Block_8290, RQ_Block_8377, RQ_Block_8474, RQ_Block_8559, RQ_Block_8654, RQ_Block_8744, RQ_Block_8837, RQ_Block_8928, RQ_Block_9019, RQ_Block_9111, RQ_Block_9206, RQ_Block_9303, RQ_Block_9400, RQ_Block_9497, RQ_Block_9601, RQ_Block_9708, RQ_Block_9813, RQ_Block_9916, RQ_Block_10017,RQ_Block_10120, RQ_Block_10241,RQ_Block_10351,RQ_Block_10458,RQ_Block_10567,RQ_Block_10676, RQ_Block_10787,RQ_Block_10899,RQ_Block_11015,RQ_Block_11130,RQ_Block_11245, RQ_Block_11358,RQ_Block_11475,RQ_Block_11590,RQ_Block_11711,RQ_Block_11829, RQ_Block_11956,RQ_Block_12087,RQ_Block_12208,RQ_Block_12333,RQ_Block_12460, RQ_Block_12593,RQ_Block_12726,RQ_Block_12857,RQ_Block_13002,RQ_Block_13143, RQ_Block_13284,RQ_Block_13417,RQ_Block_13558,RQ_Block_13695,RQ_Block_13833, RQ_Block_13974,RQ_Block_14115,RQ_Block_14272,RQ_Block_14415,RQ_Block_14560, RQ_Block_14713,RQ_Block_14862,RQ_Block_15011,RQ_Block_15170,RQ_Block_15325, RQ_Block_15496,RQ_Block_15651,RQ_Block_15808,RQ_Block_15977,RQ_Block_16161, RQ_Block_16336,RQ_Block_16505,RQ_Block_16674,RQ_Block_16851,RQ_Block_17024, RQ_Block_17195,RQ_Block_17376,RQ_Block_17559,RQ_Block_17742,RQ_Block_17929, RQ_Block_18116,RQ_Block_18309,RQ_Block_18503,RQ_Block_18694,RQ_Block_18909, RQ_Block_19126,RQ_Block_19325,RQ_Block_19539,RQ_Block_19740,RQ_Block_19939, RQ_Block_20152,RQ_Block_20355,RQ_Block_20564,RQ_Block_20778,RQ_Block_20988, RQ_Block_21199,RQ_Block_21412,RQ_Block_21629,RQ_Block_21852,RQ_Block_22073, RQ_Block_22301,RQ_Block_22536,RQ_Block_22779,RQ_Block_23010,RQ_Block_23252, RQ_Block_23491,RQ_Block_23730,RQ_Block_23971,RQ_Block_24215,RQ_Block_24476, RQ_Block_24721,RQ_Block_24976,RQ_Block_25230,RQ_Block_25493,RQ_Block_25756, RQ_Block_26022,RQ_Block_26291,RQ_Block_26566,RQ_Block_26838,RQ_Block_27111, RQ_Block_27392,RQ_Block_27682,RQ_Block_27959,RQ_Block_28248,RQ_Block_28548, RQ_Block_28845,RQ_Block_29138,RQ_Block_29434,RQ_Block_29731,RQ_Block_30037, RQ_Block_30346,RQ_Block_30654,RQ_Block_30974,RQ_Block_31285,RQ_Block_31605, RQ_Block_31948,RQ_Block_32272,RQ_Block_32601,RQ_Block_32932,RQ_Block_33282, RQ_Block_33623,RQ_Block_33961,RQ_Block_34302,RQ_Block_34654,RQ_Block_35031, RQ_Block_35395,RQ_Block_35750,RQ_Block_36112,RQ_Block_36479,RQ_Block_36849, RQ_Block_37227,RQ_Block_37606,RQ_Block_37992,RQ_Block_38385,RQ_Block_38787, RQ_Block_39176,RQ_Block_39576,RQ_Block_39980,RQ_Block_40398,RQ_Block_40816, RQ_Block_41226,RQ_Block_41641,RQ_Block_42067,RQ_Block_42490,RQ_Block_42916, RQ_Block_43388,RQ_Block_43840,RQ_Block_44279,RQ_Block_44729,RQ_Block_45183, RQ_Block_45638,RQ_Block_46104,RQ_Block_46574,RQ_Block_47047,RQ_Block_47523, RQ_Block_48007,RQ_Block_48489,RQ_Block_48976,RQ_Block_49470,RQ_Block_49978, RQ_Block_50511,RQ_Block_51017,RQ_Block_51530,RQ_Block_52062,RQ_Block_52586, RQ_Block_53114,RQ_Block_53650,RQ_Block_54188,RQ_Block_54735,RQ_Block_55289, RQ_Block_55843,RQ_Block_56403 }; #if defined(__cplusplus)&& ( __cplusplus >= 201103L || _MSC_VER > 1900 ) namespace RaptorQ__v1 { enum class Block_Size : uint16_t { Block_10 =RQ_Block_10, Block_12 =RQ_Block_12, Block_18 =RQ_Block_18, Block_20 =RQ_Block_20, Block_26 =RQ_Block_26, Block_30 =RQ_Block_30, Block_32 =RQ_Block_32, Block_36 =RQ_Block_36, Block_42 =RQ_Block_42, Block_46 =RQ_Block_46, Block_48 =RQ_Block_48, Block_49 =RQ_Block_49, Block_55 =RQ_Block_55, Block_60 =RQ_Block_60, Block_62 =RQ_Block_62, Block_69 =RQ_Block_69, Block_75 =RQ_Block_75, Block_84 =RQ_Block_84, Block_88 =RQ_Block_88, Block_91 =RQ_Block_91, Block_95 =RQ_Block_95, Block_97 =RQ_Block_97, Block_101 =RQ_Block_101, Block_114 =RQ_Block_114, Block_119 =RQ_Block_119, Block_125 =RQ_Block_125, Block_127 =RQ_Block_127, Block_138 =RQ_Block_138, Block_140 =RQ_Block_140, Block_149 =RQ_Block_149, Block_153 =RQ_Block_153, Block_160 =RQ_Block_160, Block_166 =RQ_Block_166, Block_168 =RQ_Block_168, Block_179 =RQ_Block_179, Block_181 =RQ_Block_181, Block_185 =RQ_Block_185, Block_187 =RQ_Block_187, Block_200 =RQ_Block_200, Block_213 =RQ_Block_213, Block_217 =RQ_Block_217, Block_225 =RQ_Block_225, Block_236 =RQ_Block_236, Block_242 =RQ_Block_242, Block_248 =RQ_Block_248, Block_257 =RQ_Block_257, Block_263 =RQ_Block_263, Block_269 =RQ_Block_269, Block_280 =RQ_Block_280, Block_295 =RQ_Block_295, Block_301 =RQ_Block_301, Block_305 =RQ_Block_305, Block_324 =RQ_Block_324, Block_337 =RQ_Block_337, Block_341 =RQ_Block_341, Block_347 =RQ_Block_347, Block_355 =RQ_Block_355, Block_362 =RQ_Block_362, Block_368 =RQ_Block_368, Block_372 =RQ_Block_372, Block_380 =RQ_Block_380, Block_385 =RQ_Block_385, Block_393 =RQ_Block_393, Block_405 =RQ_Block_405, Block_418 =RQ_Block_418, Block_428 =RQ_Block_428, Block_434 =RQ_Block_434, Block_447 =RQ_Block_447, Block_453 =RQ_Block_453, Block_466 =RQ_Block_466, Block_478 =RQ_Block_478, Block_486 =RQ_Block_486, Block_491 =RQ_Block_491, Block_497 =RQ_Block_497, Block_511 =RQ_Block_511, Block_526 =RQ_Block_526, Block_532 =RQ_Block_532, Block_542 =RQ_Block_542, Block_549 =RQ_Block_549, Block_557 =RQ_Block_557, Block_563 =RQ_Block_563, Block_573 =RQ_Block_573, Block_580 =RQ_Block_580, Block_588 =RQ_Block_588, Block_594 =RQ_Block_594, Block_600 =RQ_Block_600, Block_606 =RQ_Block_606, Block_619 =RQ_Block_619, Block_633 =RQ_Block_633, Block_640 =RQ_Block_640, Block_648 =RQ_Block_648, Block_666 =RQ_Block_666, Block_675 =RQ_Block_675, Block_685 =RQ_Block_685, Block_693 =RQ_Block_693, Block_703 =RQ_Block_703, Block_718 =RQ_Block_718, Block_728 =RQ_Block_728, Block_736 =RQ_Block_736, Block_747 =RQ_Block_747, Block_759 =RQ_Block_759, Block_778 =RQ_Block_778, Block_792 =RQ_Block_792, Block_802 =RQ_Block_802, Block_811 =RQ_Block_811, Block_821 =RQ_Block_821, Block_835 =RQ_Block_835, Block_845 =RQ_Block_845, Block_860 =RQ_Block_860, Block_870 =RQ_Block_870, Block_891 =RQ_Block_891, Block_903 =RQ_Block_903, Block_913 =RQ_Block_913, Block_926 =RQ_Block_926, Block_938 =RQ_Block_938, Block_950 =RQ_Block_950, Block_963 =RQ_Block_963, Block_977 =RQ_Block_977, Block_989 =RQ_Block_989, Block_1002=RQ_Block_1002, Block_1020=RQ_Block_1020,Block_1032=RQ_Block_1032,Block_1050=RQ_Block_1050, Block_1074=RQ_Block_1074,Block_1085=RQ_Block_1085,Block_1099=RQ_Block_1099, Block_1111=RQ_Block_1111,Block_1136=RQ_Block_1136,Block_1152=RQ_Block_1152, Block_1169=RQ_Block_1169,Block_1183=RQ_Block_1183,Block_1205=RQ_Block_1205, Block_1220=RQ_Block_1220,Block_1236=RQ_Block_1236,Block_1255=RQ_Block_1255, Block_1269=RQ_Block_1269,Block_1285=RQ_Block_1285,Block_1306=RQ_Block_1306, Block_1347=RQ_Block_1347,Block_1361=RQ_Block_1361,Block_1389=RQ_Block_1389, Block_1404=RQ_Block_1404,Block_1420=RQ_Block_1420,Block_1436=RQ_Block_1436, Block_1461=RQ_Block_1461,Block_1477=RQ_Block_1477,Block_1502=RQ_Block_1502, Block_1522=RQ_Block_1522,Block_1539=RQ_Block_1539,Block_1561=RQ_Block_1561, Block_1579=RQ_Block_1579,Block_1600=RQ_Block_1600,Block_1616=RQ_Block_1616, Block_1649=RQ_Block_1649,Block_1673=RQ_Block_1673,Block_1698=RQ_Block_1698, Block_1716=RQ_Block_1716,Block_1734=RQ_Block_1734,Block_1759=RQ_Block_1759, Block_1777=RQ_Block_1777,Block_1800=RQ_Block_1800,Block_1824=RQ_Block_1824, Block_1844=RQ_Block_1844,Block_1863=RQ_Block_1863,Block_1887=RQ_Block_1887, Block_1906=RQ_Block_1906,Block_1926=RQ_Block_1926,Block_1954=RQ_Block_1954, Block_1979=RQ_Block_1979,Block_2005=RQ_Block_2005,Block_2040=RQ_Block_2040, Block_2070=RQ_Block_2070,Block_2103=RQ_Block_2103,Block_2125=RQ_Block_2125, Block_2152=RQ_Block_2152,Block_2195=RQ_Block_2195,Block_2217=RQ_Block_2217, Block_2247=RQ_Block_2247,Block_2278=RQ_Block_2278,Block_2315=RQ_Block_2315, Block_2339=RQ_Block_2339,Block_2367=RQ_Block_2367,Block_2392=RQ_Block_2392, Block_2416=RQ_Block_2416,Block_2447=RQ_Block_2447,Block_2473=RQ_Block_2473, Block_2502=RQ_Block_2502,Block_2528=RQ_Block_2528,Block_2565=RQ_Block_2565, Block_2601=RQ_Block_2601,Block_2640=RQ_Block_2640,Block_2668=RQ_Block_2668, Block_2701=RQ_Block_2701,Block_2737=RQ_Block_2737,Block_2772=RQ_Block_2772, Block_2802=RQ_Block_2802,Block_2831=RQ_Block_2831,Block_2875=RQ_Block_2875, Block_2906=RQ_Block_2906,Block_2938=RQ_Block_2938,Block_2979=RQ_Block_2979, Block_3015=RQ_Block_3015,Block_3056=RQ_Block_3056,Block_3101=RQ_Block_3101, Block_3151=RQ_Block_3151,Block_3186=RQ_Block_3186,Block_3224=RQ_Block_3224, Block_3265=RQ_Block_3265,Block_3299=RQ_Block_3299,Block_3344=RQ_Block_3344, Block_3387=RQ_Block_3387,Block_3423=RQ_Block_3423,Block_3466=RQ_Block_3466, Block_3502=RQ_Block_3502,Block_3539=RQ_Block_3539,Block_3579=RQ_Block_3579, Block_3616=RQ_Block_3616,Block_3658=RQ_Block_3658,Block_3697=RQ_Block_3697, Block_3751=RQ_Block_3751,Block_3792=RQ_Block_3792,Block_3840=RQ_Block_3840, Block_3883=RQ_Block_3883,Block_3924=RQ_Block_3924,Block_3970=RQ_Block_3970, Block_4015=RQ_Block_4015,Block_4069=RQ_Block_4069,Block_4112=RQ_Block_4112, Block_4165=RQ_Block_4165,Block_4207=RQ_Block_4207,Block_4252=RQ_Block_4252, Block_4318=RQ_Block_4318,Block_4365=RQ_Block_4365,Block_4418=RQ_Block_4418, Block_4468=RQ_Block_4468,Block_4513=RQ_Block_4513,Block_4567=RQ_Block_4567, Block_4626=RQ_Block_4626,Block_4681=RQ_Block_4681,Block_4731=RQ_Block_4731, Block_4780=RQ_Block_4780,Block_4838=RQ_Block_4838,Block_4901=RQ_Block_4901, Block_4954=RQ_Block_4954,Block_5008=RQ_Block_5008,Block_5063=RQ_Block_5063, Block_5116=RQ_Block_5116,Block_5172=RQ_Block_5172,Block_5225=RQ_Block_5225, Block_5279=RQ_Block_5279,Block_5334=RQ_Block_5334,Block_5391=RQ_Block_5391, Block_5449=RQ_Block_5449,Block_5506=RQ_Block_5506,Block_5566=RQ_Block_5566, Block_5637=RQ_Block_5637,Block_5694=RQ_Block_5694,Block_5763=RQ_Block_5763, Block_5823=RQ_Block_5823,Block_5896=RQ_Block_5896,Block_5975=RQ_Block_5975, Block_6039=RQ_Block_6039,Block_6102=RQ_Block_6102,Block_6169=RQ_Block_6169, Block_6233=RQ_Block_6233,Block_6296=RQ_Block_6296,Block_6363=RQ_Block_6363, Block_6427=RQ_Block_6427,Block_6518=RQ_Block_6518,Block_6589=RQ_Block_6589, Block_6655=RQ_Block_6655,Block_6730=RQ_Block_6730,Block_6799=RQ_Block_6799, Block_6878=RQ_Block_6878,Block_6956=RQ_Block_6956,Block_7033=RQ_Block_7033, Block_7108=RQ_Block_7108,Block_7185=RQ_Block_7185,Block_7281=RQ_Block_7281, Block_7360=RQ_Block_7360,Block_7445=RQ_Block_7445,Block_7520=RQ_Block_7520, Block_7596=RQ_Block_7596,Block_7675=RQ_Block_7675,Block_7770=RQ_Block_7770, Block_7855=RQ_Block_7855,Block_7935=RQ_Block_7935,Block_8030=RQ_Block_8030, Block_8111=RQ_Block_8111,Block_8194=RQ_Block_8194,Block_8290=RQ_Block_8290, Block_8377=RQ_Block_8377,Block_8474=RQ_Block_8474,Block_8559=RQ_Block_8559, Block_8654=RQ_Block_8654,Block_8744=RQ_Block_8744,Block_8837=RQ_Block_8837, Block_8928=RQ_Block_8928,Block_9019=RQ_Block_9019,Block_9111=RQ_Block_9111, Block_9206=RQ_Block_9206,Block_9303=RQ_Block_9303,Block_9400=RQ_Block_9400, Block_9497=RQ_Block_9497,Block_9601=RQ_Block_9601,Block_9708=RQ_Block_9708, Block_9813=RQ_Block_9813,Block_9916=RQ_Block_9916, Block_10017 = RQ_Block_10017, Block_10120 = RQ_Block_10120, Block_10241 = RQ_Block_10241, Block_10351 = RQ_Block_10351, Block_10458 = RQ_Block_10458, Block_10567 = RQ_Block_10567, Block_10676 = RQ_Block_10676, Block_10787 = RQ_Block_10787, Block_10899 = RQ_Block_10899, Block_11015 = RQ_Block_11015, Block_11130 = RQ_Block_11130, Block_11245 = RQ_Block_11245, Block_11358 = RQ_Block_11358, Block_11475 = RQ_Block_11475, Block_11590 = RQ_Block_11590, Block_11711 = RQ_Block_11711, Block_11829 = RQ_Block_11829, Block_11956 = RQ_Block_11956, Block_12087 = RQ_Block_12087, Block_12208 = RQ_Block_12208, Block_12333 = RQ_Block_12333, Block_12460 = RQ_Block_12460, Block_12593 = RQ_Block_12593, Block_12726 = RQ_Block_12726, Block_12857 = RQ_Block_12857, Block_13002 = RQ_Block_13002, Block_13143 = RQ_Block_13143, Block_13284 = RQ_Block_13284, Block_13417 = RQ_Block_13417, Block_13558 = RQ_Block_13558, Block_13695 = RQ_Block_13695, Block_13833 = RQ_Block_13833, Block_13974 = RQ_Block_13974, Block_14115 = RQ_Block_14115, Block_14272 = RQ_Block_14272, Block_14415 = RQ_Block_14415, Block_14560 = RQ_Block_14560, Block_14713 = RQ_Block_14713, Block_14862 = RQ_Block_14862, Block_15011 = RQ_Block_15011, Block_15170 = RQ_Block_15170, Block_15325 = RQ_Block_15325, Block_15496 = RQ_Block_15496, Block_15651 = RQ_Block_15651, Block_15808 = RQ_Block_15808, Block_15977 = RQ_Block_15977, Block_16161 = RQ_Block_16161, Block_16336 = RQ_Block_16336, Block_16505 = RQ_Block_16505, Block_16674 = RQ_Block_16674, Block_16851 = RQ_Block_16851, Block_17024 = RQ_Block_17024, Block_17195 = RQ_Block_17195, Block_17376 = RQ_Block_17376, Block_17559 = RQ_Block_17559, Block_17742 = RQ_Block_17742, Block_17929 = RQ_Block_17929, Block_18116 = RQ_Block_18116, Block_18309 = RQ_Block_18309, Block_18503 = RQ_Block_18503, Block_18694 = RQ_Block_18694, Block_18909 = RQ_Block_18909, Block_19126 = RQ_Block_19126, Block_19325 = RQ_Block_19325, Block_19539 = RQ_Block_19539, Block_19740 = RQ_Block_19740, Block_19939 = RQ_Block_19939, Block_20152 = RQ_Block_20152, Block_20355 = RQ_Block_20355, Block_20564 = RQ_Block_20564, Block_20778 = RQ_Block_20778, Block_20988 = RQ_Block_20988, Block_21199 = RQ_Block_21199, Block_21412 = RQ_Block_21412, Block_21629 = RQ_Block_21629, Block_21852 = RQ_Block_21852, Block_22073 = RQ_Block_22073, Block_22301 = RQ_Block_22301, Block_22536 = RQ_Block_22536, Block_22779 = RQ_Block_22779, Block_23010 = RQ_Block_23010, Block_23252 = RQ_Block_23252, Block_23491 = RQ_Block_23491, Block_23730 = RQ_Block_23730, Block_23971 = RQ_Block_23971, Block_24215 = RQ_Block_24215, Block_24476 = RQ_Block_24476, Block_24721 = RQ_Block_24721, Block_24976 = RQ_Block_24976, Block_25230 = RQ_Block_25230, Block_25493 = RQ_Block_25493, Block_25756 = RQ_Block_25756, Block_26022 = RQ_Block_26022, Block_26291 = RQ_Block_26291, Block_26566 = RQ_Block_26566, Block_26838 = RQ_Block_26838, Block_27111 = RQ_Block_27111, Block_27392 = RQ_Block_27392, Block_27682 = RQ_Block_27682, Block_27959 = RQ_Block_27959, Block_28248 = RQ_Block_28248, Block_28548 = RQ_Block_28548, Block_28845 = RQ_Block_28845, Block_29138 = RQ_Block_29138, Block_29434 = RQ_Block_29434, Block_29731 = RQ_Block_29731, Block_30037 = RQ_Block_30037, Block_30346 = RQ_Block_30346, Block_30654 = RQ_Block_30654, Block_30974 = RQ_Block_30974, Block_31285 = RQ_Block_31285, Block_31605 = RQ_Block_31605, Block_31948 = RQ_Block_31948, Block_32272 = RQ_Block_32272, Block_32601 = RQ_Block_32601, Block_32932 = RQ_Block_32932, Block_33282 = RQ_Block_33282, Block_33623 = RQ_Block_33623, Block_33961 = RQ_Block_33961, Block_34302 = RQ_Block_34302, Block_34654 = RQ_Block_34654, Block_35031 = RQ_Block_35031, Block_35395 = RQ_Block_35395, Block_35750 = RQ_Block_35750, Block_36112 = RQ_Block_36112, Block_36479 = RQ_Block_36479, Block_36849 = RQ_Block_36849, Block_37227 = RQ_Block_37227, Block_37606 = RQ_Block_37606, Block_37992 = RQ_Block_37992, Block_38385 = RQ_Block_38385, Block_38787 = RQ_Block_38787, Block_39176 = RQ_Block_39176, Block_39576 = RQ_Block_39576, Block_39980 = RQ_Block_39980, Block_40398 = RQ_Block_40398, Block_40816 = RQ_Block_40816, Block_41226 = RQ_Block_41226, Block_41641 = RQ_Block_41641, Block_42067 = RQ_Block_42067, Block_42490 = RQ_Block_42490, Block_42916 = RQ_Block_42916, Block_43388 = RQ_Block_43388, Block_43840 = RQ_Block_43840, Block_44279 = RQ_Block_44279, Block_44729 = RQ_Block_44729, Block_45183 = RQ_Block_45183, Block_45638 = RQ_Block_45638, Block_46104 = RQ_Block_46104, Block_46574 = RQ_Block_46574, Block_47047 = RQ_Block_47047, Block_47523 = RQ_Block_47523, Block_48007 = RQ_Block_48007, Block_48489 = RQ_Block_48489, Block_48976 = RQ_Block_48976, Block_49470 = RQ_Block_49470, Block_49978 = RQ_Block_49978, Block_50511 = RQ_Block_50511, Block_51017 = RQ_Block_51017, Block_51530 = RQ_Block_51530, Block_52062 = RQ_Block_52062, Block_52586 = RQ_Block_52586, Block_53114 = RQ_Block_53114, Block_53650 = RQ_Block_53650, Block_54188 = RQ_Block_54188, Block_54735 = RQ_Block_54735, Block_55289 = RQ_Block_55289, Block_55843 = RQ_Block_55843, Block_56403 = RQ_Block_56403 }; #ifdef USING_CLANG #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wmissing-braces" #pragma clang diagnostic ignored "-Wglobal-constructors" #pragma clang diagnostic ignored "-Wexit-time-destructors" #endif //using_clang namespace Impl { static const std::array K_padded = {{ static_cast(Block_Size::Block_10), static_cast(Block_Size::Block_12), static_cast(Block_Size::Block_18), static_cast(Block_Size::Block_20), static_cast(Block_Size::Block_26), static_cast(Block_Size::Block_30), static_cast(Block_Size::Block_32), static_cast(Block_Size::Block_36), static_cast(Block_Size::Block_42), static_cast(Block_Size::Block_46), static_cast(Block_Size::Block_48), static_cast(Block_Size::Block_49), static_cast(Block_Size::Block_55), static_cast(Block_Size::Block_60), static_cast(Block_Size::Block_62), static_cast(Block_Size::Block_69), static_cast(Block_Size::Block_75), static_cast(Block_Size::Block_84), static_cast(Block_Size::Block_88), static_cast(Block_Size::Block_91), static_cast(Block_Size::Block_95), static_cast(Block_Size::Block_97), static_cast(Block_Size::Block_101), static_cast(Block_Size::Block_114), static_cast(Block_Size::Block_119), static_cast(Block_Size::Block_125), static_cast(Block_Size::Block_127), static_cast(Block_Size::Block_138), static_cast(Block_Size::Block_140), static_cast(Block_Size::Block_149), static_cast(Block_Size::Block_153), static_cast(Block_Size::Block_160), static_cast(Block_Size::Block_166), static_cast(Block_Size::Block_168), static_cast(Block_Size::Block_179), static_cast(Block_Size::Block_181), static_cast(Block_Size::Block_185), static_cast(Block_Size::Block_187), static_cast(Block_Size::Block_200), static_cast(Block_Size::Block_213), static_cast(Block_Size::Block_217), static_cast(Block_Size::Block_225), static_cast(Block_Size::Block_236), static_cast(Block_Size::Block_242), static_cast(Block_Size::Block_248), static_cast(Block_Size::Block_257), static_cast(Block_Size::Block_263), static_cast(Block_Size::Block_269), static_cast(Block_Size::Block_280), static_cast(Block_Size::Block_295), static_cast(Block_Size::Block_301), static_cast(Block_Size::Block_305), static_cast(Block_Size::Block_324), static_cast(Block_Size::Block_337), static_cast(Block_Size::Block_341), static_cast(Block_Size::Block_347), static_cast(Block_Size::Block_355), static_cast(Block_Size::Block_362), static_cast(Block_Size::Block_368), static_cast(Block_Size::Block_372), static_cast(Block_Size::Block_380), static_cast(Block_Size::Block_385), static_cast(Block_Size::Block_393), static_cast(Block_Size::Block_405), static_cast(Block_Size::Block_418), static_cast(Block_Size::Block_428), static_cast(Block_Size::Block_434), static_cast(Block_Size::Block_447), static_cast(Block_Size::Block_453), static_cast(Block_Size::Block_466), static_cast(Block_Size::Block_478), static_cast(Block_Size::Block_486), static_cast(Block_Size::Block_491), static_cast(Block_Size::Block_497), static_cast(Block_Size::Block_511), static_cast(Block_Size::Block_526), static_cast(Block_Size::Block_532), static_cast(Block_Size::Block_542), static_cast(Block_Size::Block_549), static_cast(Block_Size::Block_557), static_cast(Block_Size::Block_563), static_cast(Block_Size::Block_573), static_cast(Block_Size::Block_580), static_cast(Block_Size::Block_588), static_cast(Block_Size::Block_594), static_cast(Block_Size::Block_600), static_cast(Block_Size::Block_606), static_cast(Block_Size::Block_619), static_cast(Block_Size::Block_633), static_cast(Block_Size::Block_640), static_cast(Block_Size::Block_648), static_cast(Block_Size::Block_666), static_cast(Block_Size::Block_675), static_cast(Block_Size::Block_685), static_cast(Block_Size::Block_693), static_cast(Block_Size::Block_703), static_cast(Block_Size::Block_718), static_cast(Block_Size::Block_728), static_cast(Block_Size::Block_736), static_cast(Block_Size::Block_747), static_cast(Block_Size::Block_759), static_cast(Block_Size::Block_778), static_cast(Block_Size::Block_792), static_cast(Block_Size::Block_802), static_cast(Block_Size::Block_811), static_cast(Block_Size::Block_821), static_cast(Block_Size::Block_835), static_cast(Block_Size::Block_845), static_cast(Block_Size::Block_860), static_cast(Block_Size::Block_870), static_cast(Block_Size::Block_891), static_cast(Block_Size::Block_903), static_cast(Block_Size::Block_913), static_cast(Block_Size::Block_926), static_cast(Block_Size::Block_938), static_cast(Block_Size::Block_950), static_cast(Block_Size::Block_963), static_cast(Block_Size::Block_977), static_cast(Block_Size::Block_989), static_cast(Block_Size::Block_1002), static_cast(Block_Size::Block_1020), static_cast(Block_Size::Block_1032), static_cast(Block_Size::Block_1050), static_cast(Block_Size::Block_1074), static_cast(Block_Size::Block_1085), static_cast(Block_Size::Block_1099), static_cast(Block_Size::Block_1111), static_cast(Block_Size::Block_1136), static_cast(Block_Size::Block_1152), static_cast(Block_Size::Block_1169), static_cast(Block_Size::Block_1183), static_cast(Block_Size::Block_1205), static_cast(Block_Size::Block_1220), static_cast(Block_Size::Block_1236), static_cast(Block_Size::Block_1255), static_cast(Block_Size::Block_1269), static_cast(Block_Size::Block_1285), static_cast(Block_Size::Block_1306), static_cast(Block_Size::Block_1347), static_cast(Block_Size::Block_1361), static_cast(Block_Size::Block_1389), static_cast(Block_Size::Block_1404), static_cast(Block_Size::Block_1420), static_cast(Block_Size::Block_1436), static_cast(Block_Size::Block_1461), static_cast(Block_Size::Block_1477), static_cast(Block_Size::Block_1502), static_cast(Block_Size::Block_1522), static_cast(Block_Size::Block_1539), static_cast(Block_Size::Block_1561), static_cast(Block_Size::Block_1579), static_cast(Block_Size::Block_1600), static_cast(Block_Size::Block_1616), static_cast(Block_Size::Block_1649), static_cast(Block_Size::Block_1673), static_cast(Block_Size::Block_1698), static_cast(Block_Size::Block_1716), static_cast(Block_Size::Block_1734), static_cast(Block_Size::Block_1759), static_cast(Block_Size::Block_1777), static_cast(Block_Size::Block_1800), static_cast(Block_Size::Block_1824), static_cast(Block_Size::Block_1844), static_cast(Block_Size::Block_1863), static_cast(Block_Size::Block_1887), static_cast(Block_Size::Block_1906), static_cast(Block_Size::Block_1926), static_cast(Block_Size::Block_1954), static_cast(Block_Size::Block_1979), static_cast(Block_Size::Block_2005), static_cast(Block_Size::Block_2040), static_cast(Block_Size::Block_2070), static_cast(Block_Size::Block_2103), static_cast(Block_Size::Block_2125), static_cast(Block_Size::Block_2152), static_cast(Block_Size::Block_2195), static_cast(Block_Size::Block_2217), static_cast(Block_Size::Block_2247), static_cast(Block_Size::Block_2278), static_cast(Block_Size::Block_2315), static_cast(Block_Size::Block_2339), static_cast(Block_Size::Block_2367), static_cast(Block_Size::Block_2392), static_cast(Block_Size::Block_2416), static_cast(Block_Size::Block_2447), static_cast(Block_Size::Block_2473), static_cast(Block_Size::Block_2502), static_cast(Block_Size::Block_2528), static_cast(Block_Size::Block_2565), static_cast(Block_Size::Block_2601), static_cast(Block_Size::Block_2640), static_cast(Block_Size::Block_2668), static_cast(Block_Size::Block_2701), static_cast(Block_Size::Block_2737), static_cast(Block_Size::Block_2772), static_cast(Block_Size::Block_2802), static_cast(Block_Size::Block_2831), static_cast(Block_Size::Block_2875), static_cast(Block_Size::Block_2906), static_cast(Block_Size::Block_2938), static_cast(Block_Size::Block_2979), static_cast(Block_Size::Block_3015), static_cast(Block_Size::Block_3056), static_cast(Block_Size::Block_3101), static_cast(Block_Size::Block_3151), static_cast(Block_Size::Block_3186), static_cast(Block_Size::Block_3224), static_cast(Block_Size::Block_3265), static_cast(Block_Size::Block_3299), static_cast(Block_Size::Block_3344), static_cast(Block_Size::Block_3387), static_cast(Block_Size::Block_3423), static_cast(Block_Size::Block_3466), static_cast(Block_Size::Block_3502), static_cast(Block_Size::Block_3539), static_cast(Block_Size::Block_3579), static_cast(Block_Size::Block_3616), static_cast(Block_Size::Block_3658), static_cast(Block_Size::Block_3697), static_cast(Block_Size::Block_3751), static_cast(Block_Size::Block_3792), static_cast(Block_Size::Block_3840), static_cast(Block_Size::Block_3883), static_cast(Block_Size::Block_3924), static_cast(Block_Size::Block_3970), static_cast(Block_Size::Block_4015), static_cast(Block_Size::Block_4069), static_cast(Block_Size::Block_4112), static_cast(Block_Size::Block_4165), static_cast(Block_Size::Block_4207), static_cast(Block_Size::Block_4252), static_cast(Block_Size::Block_4318), static_cast(Block_Size::Block_4365), static_cast(Block_Size::Block_4418), static_cast(Block_Size::Block_4468), static_cast(Block_Size::Block_4513), static_cast(Block_Size::Block_4567), static_cast(Block_Size::Block_4626), static_cast(Block_Size::Block_4681), static_cast(Block_Size::Block_4731), static_cast(Block_Size::Block_4780), static_cast(Block_Size::Block_4838), static_cast(Block_Size::Block_4901), static_cast(Block_Size::Block_4954), static_cast(Block_Size::Block_5008), static_cast(Block_Size::Block_5063), static_cast(Block_Size::Block_5116), static_cast(Block_Size::Block_5172), static_cast(Block_Size::Block_5225), static_cast(Block_Size::Block_5279), static_cast(Block_Size::Block_5334), static_cast(Block_Size::Block_5391), static_cast(Block_Size::Block_5449), static_cast(Block_Size::Block_5506), static_cast(Block_Size::Block_5566), static_cast(Block_Size::Block_5637), static_cast(Block_Size::Block_5694), static_cast(Block_Size::Block_5763), static_cast(Block_Size::Block_5823), static_cast(Block_Size::Block_5896), static_cast(Block_Size::Block_5975), static_cast(Block_Size::Block_6039), static_cast(Block_Size::Block_6102), static_cast(Block_Size::Block_6169), static_cast(Block_Size::Block_6233), static_cast(Block_Size::Block_6296), static_cast(Block_Size::Block_6363), static_cast(Block_Size::Block_6427), static_cast(Block_Size::Block_6518), static_cast(Block_Size::Block_6589), static_cast(Block_Size::Block_6655), static_cast(Block_Size::Block_6730), static_cast(Block_Size::Block_6799), static_cast(Block_Size::Block_6878), static_cast(Block_Size::Block_6956), static_cast(Block_Size::Block_7033), static_cast(Block_Size::Block_7108), static_cast(Block_Size::Block_7185), static_cast(Block_Size::Block_7281), static_cast(Block_Size::Block_7360), static_cast(Block_Size::Block_7445), static_cast(Block_Size::Block_7520), static_cast(Block_Size::Block_7596), static_cast(Block_Size::Block_7675), static_cast(Block_Size::Block_7770), static_cast(Block_Size::Block_7855), static_cast(Block_Size::Block_7935), static_cast(Block_Size::Block_8030), static_cast(Block_Size::Block_8111), static_cast(Block_Size::Block_8194), static_cast(Block_Size::Block_8290), static_cast(Block_Size::Block_8377), static_cast(Block_Size::Block_8474), static_cast(Block_Size::Block_8559), static_cast(Block_Size::Block_8654), static_cast(Block_Size::Block_8744), static_cast(Block_Size::Block_8837), static_cast(Block_Size::Block_8928), static_cast(Block_Size::Block_9019), static_cast(Block_Size::Block_9111), static_cast(Block_Size::Block_9206), static_cast(Block_Size::Block_9303), static_cast(Block_Size::Block_9400), static_cast(Block_Size::Block_9497), static_cast(Block_Size::Block_9601), static_cast(Block_Size::Block_9708), static_cast(Block_Size::Block_9813), static_cast(Block_Size::Block_9916), static_cast(Block_Size::Block_10017), static_cast(Block_Size::Block_10120), static_cast(Block_Size::Block_10241), static_cast(Block_Size::Block_10351), static_cast(Block_Size::Block_10458), static_cast(Block_Size::Block_10567), static_cast(Block_Size::Block_10676), static_cast(Block_Size::Block_10787), static_cast(Block_Size::Block_10899), static_cast(Block_Size::Block_11015), static_cast(Block_Size::Block_11130), static_cast(Block_Size::Block_11245), static_cast(Block_Size::Block_11358), static_cast(Block_Size::Block_11475), static_cast(Block_Size::Block_11590), static_cast(Block_Size::Block_11711), static_cast(Block_Size::Block_11829), static_cast(Block_Size::Block_11956), static_cast(Block_Size::Block_12087), static_cast(Block_Size::Block_12208), static_cast(Block_Size::Block_12333), static_cast(Block_Size::Block_12460), static_cast(Block_Size::Block_12593), static_cast(Block_Size::Block_12726), static_cast(Block_Size::Block_12857), static_cast(Block_Size::Block_13002), static_cast(Block_Size::Block_13143), static_cast(Block_Size::Block_13284), static_cast(Block_Size::Block_13417), static_cast(Block_Size::Block_13558), static_cast(Block_Size::Block_13695), static_cast(Block_Size::Block_13833), static_cast(Block_Size::Block_13974), static_cast(Block_Size::Block_14115), static_cast(Block_Size::Block_14272), static_cast(Block_Size::Block_14415), static_cast(Block_Size::Block_14560), static_cast(Block_Size::Block_14713), static_cast(Block_Size::Block_14862), static_cast(Block_Size::Block_15011), static_cast(Block_Size::Block_15170), static_cast(Block_Size::Block_15325), static_cast(Block_Size::Block_15496), static_cast(Block_Size::Block_15651), static_cast(Block_Size::Block_15808), static_cast(Block_Size::Block_15977), static_cast(Block_Size::Block_16161), static_cast(Block_Size::Block_16336), static_cast(Block_Size::Block_16505), static_cast(Block_Size::Block_16674), static_cast(Block_Size::Block_16851), static_cast(Block_Size::Block_17024), static_cast(Block_Size::Block_17195), static_cast(Block_Size::Block_17376), static_cast(Block_Size::Block_17559), static_cast(Block_Size::Block_17742), static_cast(Block_Size::Block_17929), static_cast(Block_Size::Block_18116), static_cast(Block_Size::Block_18309), static_cast(Block_Size::Block_18503), static_cast(Block_Size::Block_18694), static_cast(Block_Size::Block_18909), static_cast(Block_Size::Block_19126), static_cast(Block_Size::Block_19325), static_cast(Block_Size::Block_19539), static_cast(Block_Size::Block_19740), static_cast(Block_Size::Block_19939), static_cast(Block_Size::Block_20152), static_cast(Block_Size::Block_20355), static_cast(Block_Size::Block_20564), static_cast(Block_Size::Block_20778), static_cast(Block_Size::Block_20988), static_cast(Block_Size::Block_21199), static_cast(Block_Size::Block_21412), static_cast(Block_Size::Block_21629), static_cast(Block_Size::Block_21852), static_cast(Block_Size::Block_22073), static_cast(Block_Size::Block_22301), static_cast(Block_Size::Block_22536), static_cast(Block_Size::Block_22779), static_cast(Block_Size::Block_23010), static_cast(Block_Size::Block_23252), static_cast(Block_Size::Block_23491), static_cast(Block_Size::Block_23730), static_cast(Block_Size::Block_23971), static_cast(Block_Size::Block_24215), static_cast(Block_Size::Block_24476), static_cast(Block_Size::Block_24721), static_cast(Block_Size::Block_24976), static_cast(Block_Size::Block_25230), static_cast(Block_Size::Block_25493), static_cast(Block_Size::Block_25756), static_cast(Block_Size::Block_26022), static_cast(Block_Size::Block_26291), static_cast(Block_Size::Block_26566), static_cast(Block_Size::Block_26838), static_cast(Block_Size::Block_27111), static_cast(Block_Size::Block_27392), static_cast(Block_Size::Block_27682), static_cast(Block_Size::Block_27959), static_cast(Block_Size::Block_28248), static_cast(Block_Size::Block_28548), static_cast(Block_Size::Block_28845), static_cast(Block_Size::Block_29138), static_cast(Block_Size::Block_29434), static_cast(Block_Size::Block_29731), static_cast(Block_Size::Block_30037), static_cast(Block_Size::Block_30346), static_cast(Block_Size::Block_30654), static_cast(Block_Size::Block_30974), static_cast(Block_Size::Block_31285), static_cast(Block_Size::Block_31605), static_cast(Block_Size::Block_31948), static_cast(Block_Size::Block_32272), static_cast(Block_Size::Block_32601), static_cast(Block_Size::Block_32932), static_cast(Block_Size::Block_33282), static_cast(Block_Size::Block_33623), static_cast(Block_Size::Block_33961), static_cast(Block_Size::Block_34302), static_cast(Block_Size::Block_34654), static_cast(Block_Size::Block_35031), static_cast(Block_Size::Block_35395), static_cast(Block_Size::Block_35750), static_cast(Block_Size::Block_36112), static_cast(Block_Size::Block_36479), static_cast(Block_Size::Block_36849), static_cast(Block_Size::Block_37227), static_cast(Block_Size::Block_37606), static_cast(Block_Size::Block_37992), static_cast(Block_Size::Block_38385), static_cast(Block_Size::Block_38787), static_cast(Block_Size::Block_39176), static_cast(Block_Size::Block_39576), static_cast(Block_Size::Block_39980), static_cast(Block_Size::Block_40398), static_cast(Block_Size::Block_40816), static_cast(Block_Size::Block_41226), static_cast(Block_Size::Block_41641), static_cast(Block_Size::Block_42067), static_cast(Block_Size::Block_42490), static_cast(Block_Size::Block_42916), static_cast(Block_Size::Block_43388), static_cast(Block_Size::Block_43840), static_cast(Block_Size::Block_44279), static_cast(Block_Size::Block_44729), static_cast(Block_Size::Block_45183), static_cast(Block_Size::Block_45638), static_cast(Block_Size::Block_46104), static_cast(Block_Size::Block_46574), static_cast(Block_Size::Block_47047), static_cast(Block_Size::Block_47523), static_cast(Block_Size::Block_48007), static_cast(Block_Size::Block_48489), static_cast(Block_Size::Block_48976), static_cast(Block_Size::Block_49470), static_cast(Block_Size::Block_49978), static_cast(Block_Size::Block_50511), static_cast(Block_Size::Block_51017), static_cast(Block_Size::Block_51530), static_cast(Block_Size::Block_52062), static_cast(Block_Size::Block_52586), static_cast(Block_Size::Block_53114), static_cast(Block_Size::Block_53650), static_cast(Block_Size::Block_54188), static_cast(Block_Size::Block_54735), static_cast(Block_Size::Block_55289), static_cast(Block_Size::Block_55843), static_cast(Block_Size::Block_56403) }}; } // namespace Impl static const auto *blocks = reinterpret_cast *> ( &Impl::K_padded); #ifdef USING_CLANG #pragma clang diagnostic pop #endif //using_clang } // namespace RaptorQ__v1 #endif // defined(__cplusplus)&& ( __cplusplus >= 201103L || _MSC_VER > 1900 )