File indexing completed on 2026-05-03 08:13:23
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef _LIBCPP___CXX03___CHARCONV_TABLES
0011 #define _LIBCPP___CXX03___CHARCONV_TABLES
0012
0013 #include <__cxx03/__config>
0014 #include <__cxx03/cstdint>
0015
0016 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
0017 # pragma GCC system_header
0018 #endif
0019
0020 _LIBCPP_BEGIN_NAMESPACE_STD
0021
0022 #if _LIBCPP_STD_VER >= 17
0023
0024 namespace __itoa {
0025
0026 inline constexpr char __base_2_lut[64] = {
0027 '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '1', '0', '0', '0', '1', '1', '0', '1', '0', '0', '0', '1',
0028 '0', '1', '0', '1', '1', '0', '0', '1', '1', '1', '1', '0', '0', '0', '1', '0', '0', '1', '1', '0', '1', '0',
0029 '1', '0', '1', '1', '1', '1', '0', '0', '1', '1', '0', '1', '1', '1', '1', '0', '1', '1', '1', '1'};
0030
0031 inline constexpr char __base_8_lut[128] = {
0032 '0', '0', '0', '1', '0', '2', '0', '3', '0', '4', '0', '5', '0', '6', '0', '7', '1', '0', '1', '1', '1', '2',
0033 '1', '3', '1', '4', '1', '5', '1', '6', '1', '7', '2', '0', '2', '1', '2', '2', '2', '3', '2', '4', '2', '5',
0034 '2', '6', '2', '7', '3', '0', '3', '1', '3', '2', '3', '3', '3', '4', '3', '5', '3', '6', '3', '7', '4', '0',
0035 '4', '1', '4', '2', '4', '3', '4', '4', '4', '5', '4', '6', '4', '7', '5', '0', '5', '1', '5', '2', '5', '3',
0036 '5', '4', '5', '5', '5', '6', '5', '7', '6', '0', '6', '1', '6', '2', '6', '3', '6', '4', '6', '5', '6', '6',
0037 '6', '7', '7', '0', '7', '1', '7', '2', '7', '3', '7', '4', '7', '5', '7', '6', '7', '7'};
0038
0039 inline constexpr char __base_16_lut[512] = {
0040 '0', '0', '0', '1', '0', '2', '0', '3', '0', '4', '0', '5', '0', '6', '0', '7', '0', '8', '0', '9', '0', 'a', '0',
0041 'b', '0', 'c', '0', 'd', '0', 'e', '0', 'f', '1', '0', '1', '1', '1', '2', '1', '3', '1', '4', '1', '5', '1', '6',
0042 '1', '7', '1', '8', '1', '9', '1', 'a', '1', 'b', '1', 'c', '1', 'd', '1', 'e', '1', 'f', '2', '0', '2', '1', '2',
0043 '2', '2', '3', '2', '4', '2', '5', '2', '6', '2', '7', '2', '8', '2', '9', '2', 'a', '2', 'b', '2', 'c', '2', 'd',
0044 '2', 'e', '2', 'f', '3', '0', '3', '1', '3', '2', '3', '3', '3', '4', '3', '5', '3', '6', '3', '7', '3', '8', '3',
0045 '9', '3', 'a', '3', 'b', '3', 'c', '3', 'd', '3', 'e', '3', 'f', '4', '0', '4', '1', '4', '2', '4', '3', '4', '4',
0046 '4', '5', '4', '6', '4', '7', '4', '8', '4', '9', '4', 'a', '4', 'b', '4', 'c', '4', 'd', '4', 'e', '4', 'f', '5',
0047 '0', '5', '1', '5', '2', '5', '3', '5', '4', '5', '5', '5', '6', '5', '7', '5', '8', '5', '9', '5', 'a', '5', 'b',
0048 '5', 'c', '5', 'd', '5', 'e', '5', 'f', '6', '0', '6', '1', '6', '2', '6', '3', '6', '4', '6', '5', '6', '6', '6',
0049 '7', '6', '8', '6', '9', '6', 'a', '6', 'b', '6', 'c', '6', 'd', '6', 'e', '6', 'f', '7', '0', '7', '1', '7', '2',
0050 '7', '3', '7', '4', '7', '5', '7', '6', '7', '7', '7', '8', '7', '9', '7', 'a', '7', 'b', '7', 'c', '7', 'd', '7',
0051 'e', '7', 'f', '8', '0', '8', '1', '8', '2', '8', '3', '8', '4', '8', '5', '8', '6', '8', '7', '8', '8', '8', '9',
0052 '8', 'a', '8', 'b', '8', 'c', '8', 'd', '8', 'e', '8', 'f', '9', '0', '9', '1', '9', '2', '9', '3', '9', '4', '9',
0053 '5', '9', '6', '9', '7', '9', '8', '9', '9', '9', 'a', '9', 'b', '9', 'c', '9', 'd', '9', 'e', '9', 'f', 'a', '0',
0054 'a', '1', 'a', '2', 'a', '3', 'a', '4', 'a', '5', 'a', '6', 'a', '7', 'a', '8', 'a', '9', 'a', 'a', 'a', 'b', 'a',
0055 'c', 'a', 'd', 'a', 'e', 'a', 'f', 'b', '0', 'b', '1', 'b', '2', 'b', '3', 'b', '4', 'b', '5', 'b', '6', 'b', '7',
0056 'b', '8', 'b', '9', 'b', 'a', 'b', 'b', 'b', 'c', 'b', 'd', 'b', 'e', 'b', 'f', 'c', '0', 'c', '1', 'c', '2', 'c',
0057 '3', 'c', '4', 'c', '5', 'c', '6', 'c', '7', 'c', '8', 'c', '9', 'c', 'a', 'c', 'b', 'c', 'c', 'c', 'd', 'c', 'e',
0058 'c', 'f', 'd', '0', 'd', '1', 'd', '2', 'd', '3', 'd', '4', 'd', '5', 'd', '6', 'd', '7', 'd', '8', 'd', '9', 'd',
0059 'a', 'd', 'b', 'd', 'c', 'd', 'd', 'd', 'e', 'd', 'f', 'e', '0', 'e', '1', 'e', '2', 'e', '3', 'e', '4', 'e', '5',
0060 'e', '6', 'e', '7', 'e', '8', 'e', '9', 'e', 'a', 'e', 'b', 'e', 'c', 'e', 'd', 'e', 'e', 'e', 'f', 'f', '0', 'f',
0061 '1', 'f', '2', 'f', '3', 'f', '4', 'f', '5', 'f', '6', 'f', '7', 'f', '8', 'f', '9', 'f', 'a', 'f', 'b', 'f', 'c',
0062 'f', 'd', 'f', 'e', 'f', 'f'};
0063
0064 inline constexpr uint32_t __pow10_32[10] = {
0065 UINT32_C(0),
0066 UINT32_C(10),
0067 UINT32_C(100),
0068 UINT32_C(1000),
0069 UINT32_C(10000),
0070 UINT32_C(100000),
0071 UINT32_C(1000000),
0072 UINT32_C(10000000),
0073 UINT32_C(100000000),
0074 UINT32_C(1000000000)};
0075
0076 inline constexpr uint64_t __pow10_64[20] = {
0077 UINT64_C(0),
0078 UINT64_C(10),
0079 UINT64_C(100),
0080 UINT64_C(1000),
0081 UINT64_C(10000),
0082 UINT64_C(100000),
0083 UINT64_C(1000000),
0084 UINT64_C(10000000),
0085 UINT64_C(100000000),
0086 UINT64_C(1000000000),
0087 UINT64_C(10000000000),
0088 UINT64_C(100000000000),
0089 UINT64_C(1000000000000),
0090 UINT64_C(10000000000000),
0091 UINT64_C(100000000000000),
0092 UINT64_C(1000000000000000),
0093 UINT64_C(10000000000000000),
0094 UINT64_C(100000000000000000),
0095 UINT64_C(1000000000000000000),
0096 UINT64_C(10000000000000000000)};
0097
0098 # ifndef _LIBCPP_HAS_NO_INT128
0099 inline constexpr int __pow10_128_offset = 0;
0100 inline constexpr __uint128_t __pow10_128[40] = {
0101 UINT64_C(0),
0102 UINT64_C(10),
0103 UINT64_C(100),
0104 UINT64_C(1000),
0105 UINT64_C(10000),
0106 UINT64_C(100000),
0107 UINT64_C(1000000),
0108 UINT64_C(10000000),
0109 UINT64_C(100000000),
0110 UINT64_C(1000000000),
0111 UINT64_C(10000000000),
0112 UINT64_C(100000000000),
0113 UINT64_C(1000000000000),
0114 UINT64_C(10000000000000),
0115 UINT64_C(100000000000000),
0116 UINT64_C(1000000000000000),
0117 UINT64_C(10000000000000000),
0118 UINT64_C(100000000000000000),
0119 UINT64_C(1000000000000000000),
0120 UINT64_C(10000000000000000000),
0121 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(10),
0122 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(100),
0123 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(1000),
0124 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(10000),
0125 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(100000),
0126 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(1000000),
0127 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(10000000),
0128 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(100000000),
0129 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(1000000000),
0130 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(10000000000),
0131 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(100000000000),
0132 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(1000000000000),
0133 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(10000000000000),
0134 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(100000000000000),
0135 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(1000000000000000),
0136 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(10000000000000000),
0137 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(100000000000000000),
0138 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(1000000000000000000),
0139 __uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(10000000000000000000),
0140 (__uint128_t(UINT64_C(10000000000000000000)) * UINT64_C(10000000000000000000)) * 10};
0141 # endif
0142
0143 inline constexpr char __digits_base_10[200] = {
0144
0145 '0', '0', '0', '1', '0', '2', '0', '3', '0', '4', '0', '5', '0', '6', '0', '7', '0', '8', '0', '9',
0146 '1', '0', '1', '1', '1', '2', '1', '3', '1', '4', '1', '5', '1', '6', '1', '7', '1', '8', '1', '9',
0147 '2', '0', '2', '1', '2', '2', '2', '3', '2', '4', '2', '5', '2', '6', '2', '7', '2', '8', '2', '9',
0148 '3', '0', '3', '1', '3', '2', '3', '3', '3', '4', '3', '5', '3', '6', '3', '7', '3', '8', '3', '9',
0149 '4', '0', '4', '1', '4', '2', '4', '3', '4', '4', '4', '5', '4', '6', '4', '7', '4', '8', '4', '9',
0150 '5', '0', '5', '1', '5', '2', '5', '3', '5', '4', '5', '5', '5', '6', '5', '7', '5', '8', '5', '9',
0151 '6', '0', '6', '1', '6', '2', '6', '3', '6', '4', '6', '5', '6', '6', '6', '7', '6', '8', '6', '9',
0152 '7', '0', '7', '1', '7', '2', '7', '3', '7', '4', '7', '5', '7', '6', '7', '7', '7', '8', '7', '9',
0153 '8', '0', '8', '1', '8', '2', '8', '3', '8', '4', '8', '5', '8', '6', '8', '7', '8', '8', '8', '9',
0154 '9', '0', '9', '1', '9', '2', '9', '3', '9', '4', '9', '5', '9', '6', '9', '7', '9', '8', '9', '9'};
0155
0156
0157 }
0158
0159 #endif
0160
0161 _LIBCPP_END_NAMESPACE_STD
0162
0163 #endif