diff --git a/libc/src/__support/ryu_constants.h b/libc/src/__support/ryu_constants.h --- a/libc/src/__support/ryu_constants.h +++ b/libc/src/__support/ryu_constants.h @@ -17,14 +17,14 @@ constexpr size_t MID_INT_SIZE = 192; -static const uint16_t POW10_OFFSET[64] = { +constexpr uint16_t POW10_OFFSET[64] = { 0, 2, 5, 8, 12, 16, 21, 26, 32, 39, 46, 54, 62, 71, 80, 90, 100, 111, 122, 134, 146, 159, 173, 187, 202, 217, 233, 249, 266, 283, 301, 319, 338, 357, 377, 397, 418, 440, 462, 485, 508, 532, 556, 581, 606, 632, 658, 685, 712, 740, 769, 798, 828, 858, 889, 920, 952, 984, 1017, 1050, 1084, 1118, 1153, 1188}; -static const uint64_t POW10_SPLIT[1224][3] = { +constexpr uint64_t POW10_SPLIT[1224][3] = { {1u, 72057594037927936u, 0u}, {699646928636035157u, 72057594u, 0u}, {1u, 0u, 256u}, @@ -1251,7 +1251,7 @@ {8310173728816391804u, 197658u, 0u}, }; -static const uint16_t POW10_OFFSET_2[69] = { +constexpr uint16_t POW10_OFFSET_2[69] = { 0, 2, 6, 12, 20, 29, 40, 52, 66, 80, 95, 112, 130, 150, 170, 192, 215, 240, 265, 292, 320, 350, 381, 413, 446, 480, 516, 552, 590, 629, 670, 712, 755, 799, 845, 892, @@ -1259,13 +1259,13 @@ 1613, 1678, 1743, 1810, 1878, 1947, 2017, 2088, 2161, 2235, 2311, 2387, 2465, 2544, 2625, 2706, 2789, 2873, 2959, 3046, 3133}; -static const uint8_t MIN_BLOCK_2[69] = { +constexpr uint8_t MIN_BLOCK_2[69] = { 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 34, 0}; -static const uint64_t POW10_SPLIT_2[3133][3] = { +constexpr uint64_t POW10_SPLIT_2[3133][3] = { {0u, 0u, 3906250u}, {0u, 0u, 202000000000u}, {0u, 11153727427136454656u, 59u}, diff --git a/libc/src/__support/ryu_long_double_constants.h b/libc/src/__support/ryu_long_double_constants.h --- a/libc/src/__support/ryu_long_double_constants.h +++ b/libc/src/__support/ryu_long_double_constants.h @@ -17,7 +17,7 @@ constexpr size_t MID_INT_SIZE = (256 + 64); -static const uint32_t POW10_OFFSET[] = { +constexpr uint32_t POW10_OFFSET[] = { 0, 4, 13, 26, 43, 64, 90, 120, 154, 193, 236, 283, 334, 390, 450, 514, 582, 655, 732, 813, 899, 989, 1083, 1181, 1284, 1391, 1502, 1618, 1738, 1862, 1990, 2123, 2260, @@ -31,7 +31,7 @@ 26137, 26612, 27092, 27576, 28064, 28556, 29053, 29554, 30059, 30568, 31082, 31600, 32122, 32649, 33180, 33715, 34254, 34798, 35346}; -static const uint32_t POW10_OFFSET_2[130] = { +constexpr uint32_t POW10_OFFSET_2[130] = { 0, 15, 44, 83, 131, 190, 259, 338, 426, 524, 633, 751, 879, 1017, 1166, 1324, 1492, 1670, 1858, 2056, 2264, 2482, 2709, 2947, 3195, 3453, 3720, 3997, 4285, 4582, 4889, 5206, 5534, @@ -45,7 +45,7 @@ 61678, 62790, 63912, 65045, 66188, 67340, 68502, 69674, 70856, 72048, 73250, 74462, 75684, 76916, 78158, 79409, 80670, 81942, 83224, 84515}; -static const uint16_t MIN_BLOCK_2[130] = { +constexpr uint16_t MIN_BLOCK_2[130] = { 0, 0, 4, 9, 13, 17, 21, 26, 30, 34, 39, 43, 47, 51, 56, 60, 64, 68, 73, 77, 81, 86, 90, 94, 98, 103, 107, 111, 116, 120, 124, 128, 133, 137, 141, 146, 150, 154, 158, 163, 167, 171, 176, 180, 184, @@ -56,7 +56,7 @@ 445, 450, 454, 458, 462, 467, 471, 475, 479, 484, 488, 492, 497, 501, 505, 509, 514, 518, 522, 527, 531, 535, 539, 544, 0}; -static const uint64_t POW10_SPLIT[][5] = { +constexpr uint64_t POW10_SPLIT[][5] = { {1u, 72057594037927936u, 0u, 0u, 0u}, {699646928636035157u, 72057594u, 0u, 0u, 0u}, {1329227995784915873u, 0u, 0u, 0u, 0u}, @@ -35405,7 +35405,7 @@ {4647389u, 0u, 0u, 0u, 0u}, }; -static const uint64_t POW10_SPLIT_2[][5] = { +constexpr uint64_t POW10_SPLIT_2[][5] = { {0u, 0u, 3906250u, 0u, 0u}, {0u, 0u, 3906250000000000u, 0u, 0u}, {0u, 0u, 4368439412768899072u, 211758u, 0u},