aboutsummaryrefslogtreecommitdiffstats
path: root/util/charset
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:15 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:15 +0300
commit72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch)
treeda2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /util/charset
parent778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff)
downloadydb-72cb13b4aff9bc9cf22e49251bc8fd143f82538f.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 1 of 2.
Diffstat (limited to 'util/charset')
-rw-r--r--util/charset/benchmark/to_lower/main.cpp52
-rw-r--r--util/charset/benchmark/utf8_to_wide/main.cpp64
-rw-r--r--util/charset/generated/unidata.cpp2244
-rw-r--r--util/charset/recode_result.cpp2
-rw-r--r--util/charset/recode_result.h2
-rw-r--r--util/charset/unicode_table.cpp2
-rw-r--r--util/charset/unicode_table.h6
-rw-r--r--util/charset/unidata.cpp2
-rw-r--r--util/charset/unidata.h190
-rw-r--r--util/charset/ut/ya.make4
-rw-r--r--util/charset/utf8.cpp2
-rw-r--r--util/charset/utf8.h34
-rw-r--r--util/charset/wide.cpp60
-rw-r--r--util/charset/wide.h72
-rw-r--r--util/charset/wide_sse41.cpp48
-rw-r--r--util/charset/wide_ut.cpp166
-rw-r--r--util/charset/ya.make16
17 files changed, 1483 insertions, 1483 deletions
diff --git a/util/charset/benchmark/to_lower/main.cpp b/util/charset/benchmark/to_lower/main.cpp
index e95fdc2371..82ee1747b2 100644
--- a/util/charset/benchmark/to_lower/main.cpp
+++ b/util/charset/benchmark/to_lower/main.cpp
@@ -20,34 +20,34 @@ static const auto LongRussian = UTF8ToWide(
"Большая часть таблицы занята китайско-японскими иероглифами и своеобразными корейскими"
"буквами. В Юникоде 10.0 в этой плоскости представлены следующие блоки");
-#define DEFINE_INPLACE_BENCH(s) \
- Y_CPU_BENCHMARK(s##CopyDetach, iface) { \
- for (size_t i = 0, iEnd = iface.Iterations(); i < iEnd; ++i) { \
- NBench::Clobber(); \
- auto copy = s; \
- NBench::Escape(copy.Detach()); \
- NBench::Clobber(); \
- } \
- } \
- \
- Y_CPU_BENCHMARK(s##Inplace, iface) { \
- for (size_t i = 0, iEnd = iface.Iterations(); i < iEnd; ++i) { \
- NBench::Clobber(); \
- auto copy = s; \
- ToLower(copy); \
- NBench::Escape(copy.data()); \
- NBench::Clobber(); \
- } \
+#define DEFINE_INPLACE_BENCH(s) \
+ Y_CPU_BENCHMARK(s##CopyDetach, iface) { \
+ for (size_t i = 0, iEnd = iface.Iterations(); i < iEnd; ++i) { \
+ NBench::Clobber(); \
+ auto copy = s; \
+ NBench::Escape(copy.Detach()); \
+ NBench::Clobber(); \
+ } \
+ } \
+ \
+ Y_CPU_BENCHMARK(s##Inplace, iface) { \
+ for (size_t i = 0, iEnd = iface.Iterations(); i < iEnd; ++i) { \
+ NBench::Clobber(); \
+ auto copy = s; \
+ ToLower(copy); \
+ NBench::Escape(copy.data()); \
+ NBench::Clobber(); \
+ } \
}
-#define DEFINE_RET_BENCH(s) \
- Y_CPU_BENCHMARK(s##Ret, iface) { \
- for (size_t i = 0, iEnd = iface.Iterations(); i < iEnd; ++i) { \
- NBench::Clobber(); \
- const auto res = ToLowerRet(TWtringBuf{s}); \
- NBench::Escape(res.data()); \
- NBench::Clobber(); \
- } \
+#define DEFINE_RET_BENCH(s) \
+ Y_CPU_BENCHMARK(s##Ret, iface) { \
+ for (size_t i = 0, iEnd = iface.Iterations(); i < iEnd; ++i) { \
+ NBench::Clobber(); \
+ const auto res = ToLowerRet(TWtringBuf{s}); \
+ NBench::Escape(res.data()); \
+ NBench::Clobber(); \
+ } \
}
DEFINE_INPLACE_BENCH(ShortAscii)
diff --git a/util/charset/benchmark/utf8_to_wide/main.cpp b/util/charset/benchmark/utf8_to_wide/main.cpp
index 09fa567fe5..d1e79965ac 100644
--- a/util/charset/benchmark/utf8_to_wide/main.cpp
+++ b/util/charset/benchmark/utf8_to_wide/main.cpp
@@ -46,39 +46,39 @@ namespace {
}
#ifdef _sse2_
- #define IS_ASCII_BENCHMARK(length) \
- Y_CPU_BENCHMARK(IsStringASCII##length, iface) { \
- const auto& data = *Singleton<RAS##length>(); \
- for (size_t x = 0; x < iface.Iterations(); ++x) { \
- Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCII(data.begin(), data.end())); \
- } \
- } \
- Y_CPU_BENCHMARK(IsStringASCIISlow##length, iface) { \
- const auto& data = *Singleton<RAS##length>(); \
- for (size_t x = 0; x < iface.Iterations(); ++x) { \
- Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCIISlow(data.begin(), data.end())); \
- } \
- } \
- Y_CPU_BENCHMARK(IsStringASCIISSE##length, iface) { \
- const auto& data = *Singleton<RAS##length>(); \
- for (size_t x = 0; x < iface.Iterations(); ++x) { \
- Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCIISSE(reinterpret_cast<const unsigned char*>(data.begin()), reinterpret_cast<const unsigned char*>(data.end()))); \
- } \
- }
+ #define IS_ASCII_BENCHMARK(length) \
+ Y_CPU_BENCHMARK(IsStringASCII##length, iface) { \
+ const auto& data = *Singleton<RAS##length>(); \
+ for (size_t x = 0; x < iface.Iterations(); ++x) { \
+ Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCII(data.begin(), data.end())); \
+ } \
+ } \
+ Y_CPU_BENCHMARK(IsStringASCIISlow##length, iface) { \
+ const auto& data = *Singleton<RAS##length>(); \
+ for (size_t x = 0; x < iface.Iterations(); ++x) { \
+ Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCIISlow(data.begin(), data.end())); \
+ } \
+ } \
+ Y_CPU_BENCHMARK(IsStringASCIISSE##length, iface) { \
+ const auto& data = *Singleton<RAS##length>(); \
+ for (size_t x = 0; x < iface.Iterations(); ++x) { \
+ Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCIISSE(reinterpret_cast<const unsigned char*>(data.begin()), reinterpret_cast<const unsigned char*>(data.end()))); \
+ } \
+ }
#else //no sse
- #define IS_ASCII_BENCHMARK(length) \
- Y_CPU_BENCHMARK(IsStringASCIIScalar##length, iface) { \
- const auto& data = *Singleton<RAS##length>(); \
- for (size_t x = 0; x < iface.Iterations(); ++x) { \
- Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCII(data.begin(), data.end())); \
- } \
- } \
- Y_CPU_BENCHMARK(IsStringASCIISlow##length, iface) { \
- const auto& data = *Singleton<RAS##length>(); \
- for (size_t x = 0; x < iface.Iterations(); ++x) { \
- Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCIISlow(data.begin(), data.end())); \
- } \
- }
+ #define IS_ASCII_BENCHMARK(length) \
+ Y_CPU_BENCHMARK(IsStringASCIIScalar##length, iface) { \
+ const auto& data = *Singleton<RAS##length>(); \
+ for (size_t x = 0; x < iface.Iterations(); ++x) { \
+ Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCII(data.begin(), data.end())); \
+ } \
+ } \
+ Y_CPU_BENCHMARK(IsStringASCIISlow##length, iface) { \
+ const auto& data = *Singleton<RAS##length>(); \
+ for (size_t x = 0; x < iface.Iterations(); ++x) { \
+ Y_DO_NOT_OPTIMIZE_AWAY(::NDetail::DoIsStringASCIISlow(data.begin(), data.end())); \
+ } \
+ }
#endif
IS_ASCII_BENCHMARK(1);
diff --git a/util/charset/generated/unidata.cpp b/util/charset/generated/unidata.cpp
index 6f5adbbc0a..929b900981 100644
--- a/util/charset/generated/unidata.cpp
+++ b/util/charset/generated/unidata.cpp
@@ -1,1589 +1,1589 @@
#include <util/charset/unidata.h>
-namespace { namespace NUnidataTableGenerated {
+namespace { namespace NUnidataTableGenerated {
using TV = const NUnicode::NPrivate::TUnidataTable::TStored;
- static const TV V[] = {
-#undef V0
-#define V0 (*(V + 0))
- {0xF018, 0, 0, 0, 0},
-#undef V1
-#define V1 (*(V + 1))
- {0x9F019, 0, 0, 0, 0},
-#undef V2
-#define V2 (*(V + 2))
- {0x8F019, 0, 0, 0, 0},
-#undef V3
-#define V3 (*(V + 3))
- {0x8F01A, 0, 0, 0, 0},
-#undef V4
-#define V4 (*(V + 4))
- {0x9F01A, 0, 0, 0, 0},
-#undef V5
-#define V5 (*(V + 5))
- {0xAF014, 0, 0, 0, 0},
-#undef V6
-#define V6 (*(V + 6))
- {0xBF02C, 0, 0, 0, 0},
-#undef V7
-#define V7 (*(V + 7))
- {0xBF02B, 0, 0, 0, 0},
-#undef V8
-#define V8 (*(V + 8))
- {0x5F02A, 0, 0, 0, 0},
-#undef V9
-#define V9 (*(V + 9))
- {0x5F031, 0, 0, 0, 0},
-#undef V10
-#define V10 (*(V + 10))
- {0xBF02A, 0, 0, 0, 0},
-#undef V11
-#define V11 (*(V + 11))
- {0xBF038, 0, 0, 0, 0},
-#undef V12
-#define V12 (*(V + 12))
- {0xBF023, 0, 0, 0, 0},
-#undef V13
-#define V13 (*(V + 13))
- {0xBF025, 0, 0, 0, 0},
-#undef V14
-#define V14 (*(V + 14))
- {0x4F02F, 0, 0, 0, 0},
-#undef V15
-#define V15 (*(V + 15))
- {0x7F02C, 0, 0, 0, 0},
-#undef V16
-#define V16 (*(V + 16))
- {0x4F022, 0, 0, 0, 0},
-#undef V17
-#define V17 (*(V + 17))
- {0x7F02A, 0, 0, 0, 0},
-#undef V18
-#define V18 (*(V + 18))
- {0x3F0D0, 0, 0, 0, 0},
-#undef V19
-#define V19 (*(V + 19))
- {0x43F0D0, 0, 0, 0, 0},
-#undef V20
-#define V20 (*(V + 20))
- {0x83F0D0, 0, 0, 0, 0},
-#undef V21
-#define V21 (*(V + 21))
- {0xC3F0D0, 0, 0, 0, 0},
-#undef V22
-#define V22 (*(V + 22))
- {0x103F0D0, 0, 0, 0, 0},
-#undef V23
-#define V23 (*(V + 23))
- {0x143F0D0, 0, 0, 0, 0},
-#undef V24
-#define V24 (*(V + 24))
- {0x183F0D0, 0, 0, 0, 0},
-#undef V25
-#define V25 (*(V + 25))
- {0x1C3F0D0, 0, 0, 0, 0},
-#undef V26
-#define V26 (*(V + 26))
- {0x203F0D0, 0, 0, 0, 0},
-#undef V27
-#define V27 (*(V + 27))
- {0x243F0D0, 0, 0, 0, 0},
-#undef V28
-#define V28 (*(V + 28))
- {0xBF02F, 0, 0, 0, 0},
-#undef V29
-#define V29 (*(V + 29))
- {0x1F041, 32, 0, 0, 0},
-#undef V30
-#define V30 (*(V + 30))
- {0x1F001, 32, 0, 0, 0},
-#undef V31
-#define V31 (*(V + 31))
- {0xBF032, 0, 0, 0, 0},
-#undef V32
-#define V32 (*(V + 32))
- {0xBF029, 0, 0, 0, 0},
-#undef V33
-#define V33 (*(V + 33))
- {0x1F042, 0, -32, -32, 0},
-#undef V34
-#define V34 (*(V + 34))
- {0x1F002, 0, -32, -32, 0},
-#undef V35
-#define V35 (*(V + 35))
- {0x8F018, 0, 0, 0, 0},
-#undef V36
-#define V36 (*(V + 36))
- {0x73514, 0, 0, 0, 0},
-#undef V37
-#define V37 (*(V + 37))
- {0xBF033, 0, 0, 0, 0},
-#undef V38
-#define V38 (*(V + 38))
- {0xB3432, 0, 0, 0, 0},
-#undef V39
-#define V39 (*(V + 39))
+ static const TV V[] = {
+#undef V0
+#define V0 (*(V + 0))
+ {0xF018, 0, 0, 0, 0},
+#undef V1
+#define V1 (*(V + 1))
+ {0x9F019, 0, 0, 0, 0},
+#undef V2
+#define V2 (*(V + 2))
+ {0x8F019, 0, 0, 0, 0},
+#undef V3
+#define V3 (*(V + 3))
+ {0x8F01A, 0, 0, 0, 0},
+#undef V4
+#define V4 (*(V + 4))
+ {0x9F01A, 0, 0, 0, 0},
+#undef V5
+#define V5 (*(V + 5))
+ {0xAF014, 0, 0, 0, 0},
+#undef V6
+#define V6 (*(V + 6))
+ {0xBF02C, 0, 0, 0, 0},
+#undef V7
+#define V7 (*(V + 7))
+ {0xBF02B, 0, 0, 0, 0},
+#undef V8
+#define V8 (*(V + 8))
+ {0x5F02A, 0, 0, 0, 0},
+#undef V9
+#define V9 (*(V + 9))
+ {0x5F031, 0, 0, 0, 0},
+#undef V10
+#define V10 (*(V + 10))
+ {0xBF02A, 0, 0, 0, 0},
+#undef V11
+#define V11 (*(V + 11))
+ {0xBF038, 0, 0, 0, 0},
+#undef V12
+#define V12 (*(V + 12))
+ {0xBF023, 0, 0, 0, 0},
+#undef V13
+#define V13 (*(V + 13))
+ {0xBF025, 0, 0, 0, 0},
+#undef V14
+#define V14 (*(V + 14))
+ {0x4F02F, 0, 0, 0, 0},
+#undef V15
+#define V15 (*(V + 15))
+ {0x7F02C, 0, 0, 0, 0},
+#undef V16
+#define V16 (*(V + 16))
+ {0x4F022, 0, 0, 0, 0},
+#undef V17
+#define V17 (*(V + 17))
+ {0x7F02A, 0, 0, 0, 0},
+#undef V18
+#define V18 (*(V + 18))
+ {0x3F0D0, 0, 0, 0, 0},
+#undef V19
+#define V19 (*(V + 19))
+ {0x43F0D0, 0, 0, 0, 0},
+#undef V20
+#define V20 (*(V + 20))
+ {0x83F0D0, 0, 0, 0, 0},
+#undef V21
+#define V21 (*(V + 21))
+ {0xC3F0D0, 0, 0, 0, 0},
+#undef V22
+#define V22 (*(V + 22))
+ {0x103F0D0, 0, 0, 0, 0},
+#undef V23
+#define V23 (*(V + 23))
+ {0x143F0D0, 0, 0, 0, 0},
+#undef V24
+#define V24 (*(V + 24))
+ {0x183F0D0, 0, 0, 0, 0},
+#undef V25
+#define V25 (*(V + 25))
+ {0x1C3F0D0, 0, 0, 0, 0},
+#undef V26
+#define V26 (*(V + 26))
+ {0x203F0D0, 0, 0, 0, 0},
+#undef V27
+#define V27 (*(V + 27))
+ {0x243F0D0, 0, 0, 0, 0},
+#undef V28
+#define V28 (*(V + 28))
+ {0xBF02F, 0, 0, 0, 0},
+#undef V29
+#define V29 (*(V + 29))
+ {0x1F041, 32, 0, 0, 0},
+#undef V30
+#define V30 (*(V + 30))
+ {0x1F001, 32, 0, 0, 0},
+#undef V31
+#define V31 (*(V + 31))
+ {0xBF032, 0, 0, 0, 0},
+#undef V32
+#define V32 (*(V + 32))
+ {0xBF029, 0, 0, 0, 0},
+#undef V33
+#define V33 (*(V + 33))
+ {0x1F042, 0, -32, -32, 0},
+#undef V34
+#define V34 (*(V + 34))
+ {0x1F002, 0, -32, -32, 0},
+#undef V35
+#define V35 (*(V + 35))
+ {0x8F018, 0, 0, 0, 0},
+#undef V36
+#define V36 (*(V + 36))
+ {0x73514, 0, 0, 0, 0},
+#undef V37
+#define V37 (*(V + 37))
+ {0xBF033, 0, 0, 0, 0},
+#undef V38
+#define V38 (*(V + 38))
+ {0xB3432, 0, 0, 0, 0},
+#undef V39
+#define V39 (*(V + 39))
{0x13406, 0, 0, 0, 0},
-#undef V40
-#define V40 (*(V + 40))
- {0xBF027, 0, 0, 0, 0},
-#undef V41
-#define V41 (*(V + 41))
- {0xF01B, 0, 0, 0, 0},
-#undef V42
-#define V42 (*(V + 42))
- {0x5F033, 0, 0, 0, 0},
-#undef V43
-#define V43 (*(V + 43))
- {0x5F02F, 0, 0, 0, 0},
-#undef V44
-#define V44 (*(V + 44))
- {0x833493, 0, 0, 0, 0},
-#undef V45
-#define V45 (*(V + 45))
- {0xC33493, 0, 0, 0, 0},
-#undef V46
-#define V46 (*(V + 46))
- {0x13402, 0, 743, 743, 0},
-#undef V47
-#define V47 (*(V + 47))
- {0xBF02D, 0, 0, 0, 0},
-#undef V48
-#define V48 (*(V + 48))
- {0x433493, 0, 0, 0, 0},
-#undef V49
-#define V49 (*(V + 49))
- {0xBF028, 0, 0, 0, 0},
-#undef V50
-#define V50 (*(V + 50))
- {0xB3413, 0, 0, 0, 0},
-#undef V51
-#define V51 (*(V + 51))
- {0x1A801, 32, 0, 0, 0},
-#undef V52
-#define V52 (*(V + 52))
- {0x1F002, 0, 0, 0, 0},
-#undef V53
-#define V53 (*(V + 53))
- {0x1A802, 0, -32, -32, 0},
-#undef V54
-#define V54 (*(V + 54))
- {0x1A802, 0, 121, 121, 0},
-#undef V55
-#define V55 (*(V + 55))
- {0x1A801, 1, 0, 0, 0},
-#undef V56
-#define V56 (*(V + 56))
- {0x1A802, 0, -1, -1, 0},
-#undef V57
-#define V57 (*(V + 57))
- {0x1F001, 1, 0, 0, 0},
-#undef V58
-#define V58 (*(V + 58))
- {0x1F002, 0, -1, -1, 0},
-#undef V59
-#define V59 (*(V + 59))
- {0x1A801, -199, 0, 0, 0},
-#undef V60
-#define V60 (*(V + 60))
- {0x1F002, 0, -232, -232, 0},
-#undef V61
-#define V61 (*(V + 61))
- {0x13401, 1, 0, 0, 0},
-#undef V62
-#define V62 (*(V + 62))
- {0x13402, 0, -1, -1, 0},
-#undef V63
-#define V63 (*(V + 63))
+#undef V40
+#define V40 (*(V + 40))
+ {0xBF027, 0, 0, 0, 0},
+#undef V41
+#define V41 (*(V + 41))
+ {0xF01B, 0, 0, 0, 0},
+#undef V42
+#define V42 (*(V + 42))
+ {0x5F033, 0, 0, 0, 0},
+#undef V43
+#define V43 (*(V + 43))
+ {0x5F02F, 0, 0, 0, 0},
+#undef V44
+#define V44 (*(V + 44))
+ {0x833493, 0, 0, 0, 0},
+#undef V45
+#define V45 (*(V + 45))
+ {0xC33493, 0, 0, 0, 0},
+#undef V46
+#define V46 (*(V + 46))
+ {0x13402, 0, 743, 743, 0},
+#undef V47
+#define V47 (*(V + 47))
+ {0xBF02D, 0, 0, 0, 0},
+#undef V48
+#define V48 (*(V + 48))
+ {0x433493, 0, 0, 0, 0},
+#undef V49
+#define V49 (*(V + 49))
+ {0xBF028, 0, 0, 0, 0},
+#undef V50
+#define V50 (*(V + 50))
+ {0xB3413, 0, 0, 0, 0},
+#undef V51
+#define V51 (*(V + 51))
+ {0x1A801, 32, 0, 0, 0},
+#undef V52
+#define V52 (*(V + 52))
+ {0x1F002, 0, 0, 0, 0},
+#undef V53
+#define V53 (*(V + 53))
+ {0x1A802, 0, -32, -32, 0},
+#undef V54
+#define V54 (*(V + 54))
+ {0x1A802, 0, 121, 121, 0},
+#undef V55
+#define V55 (*(V + 55))
+ {0x1A801, 1, 0, 0, 0},
+#undef V56
+#define V56 (*(V + 56))
+ {0x1A802, 0, -1, -1, 0},
+#undef V57
+#define V57 (*(V + 57))
+ {0x1F001, 1, 0, 0, 0},
+#undef V58
+#define V58 (*(V + 58))
+ {0x1F002, 0, -1, -1, 0},
+#undef V59
+#define V59 (*(V + 59))
+ {0x1A801, -199, 0, 0, 0},
+#undef V60
+#define V60 (*(V + 60))
+ {0x1F002, 0, -232, -232, 0},
+#undef V61
+#define V61 (*(V + 61))
+ {0x13401, 1, 0, 0, 0},
+#undef V62
+#define V62 (*(V + 62))
+ {0x13402, 0, -1, -1, 0},
+#undef V63
+#define V63 (*(V + 63))
{0x13402, 0, 0, 0, 0},
-#undef V64
-#define V64 (*(V + 64))
+#undef V64
+#define V64 (*(V + 64))
{0x1A801, -121, 0, 0, 0},
-#undef V65
-#define V65 (*(V + 65))
+#undef V65
+#define V65 (*(V + 65))
{0x13402, 0, -300, -300, 0},
-#undef V66
-#define V66 (*(V + 66))
+#undef V66
+#define V66 (*(V + 66))
{0x1F002, 0, 195, 195, 0},
-#undef V67
-#define V67 (*(V + 67))
+#undef V67
+#define V67 (*(V + 67))
{0x1F001, 210, 0, 0, 0},
-#undef V68
-#define V68 (*(V + 68))
+#undef V68
+#define V68 (*(V + 68))
{0x1F001, 206, 0, 0, 0},
-#undef V69
-#define V69 (*(V + 69))
+#undef V69
+#define V69 (*(V + 69))
{0x1F001, 205, 0, 0, 0},
-#undef V70
-#define V70 (*(V + 70))
+#undef V70
+#define V70 (*(V + 70))
{0x1F001, 79, 0, 0, 0},
-#undef V71
-#define V71 (*(V + 71))
+#undef V71
+#define V71 (*(V + 71))
{0x1F001, 202, 0, 0, 0},
-#undef V72
-#define V72 (*(V + 72))
+#undef V72
+#define V72 (*(V + 72))
{0x1F001, 203, 0, 0, 0},
-#undef V73
-#define V73 (*(V + 73))
+#undef V73
+#define V73 (*(V + 73))
{0x1F001, 207, 0, 0, 0},
-#undef V74
-#define V74 (*(V + 74))
+#undef V74
+#define V74 (*(V + 74))
{0x1F002, 0, 97, 97, 0},
-#undef V75
-#define V75 (*(V + 75))
+#undef V75
+#define V75 (*(V + 75))
{0x1F001, 211, 0, 0, 0},
-#undef V76
-#define V76 (*(V + 76))
+#undef V76
+#define V76 (*(V + 76))
{0x1F001, 209, 0, 0, 0},
-#undef V77
-#define V77 (*(V + 77))
+#undef V77
+#define V77 (*(V + 77))
{0x1F002, 0, 163, 163, 0},
-#undef V78
-#define V78 (*(V + 78))
+#undef V78
+#define V78 (*(V + 78))
{0x1F001, 213, 0, 0, 0},
-#undef V79
-#define V79 (*(V + 79))
+#undef V79
+#define V79 (*(V + 79))
{0x1F002, 0, 130, 130, 0},
-#undef V80
-#define V80 (*(V + 80))
+#undef V80
+#define V80 (*(V + 80))
{0x1F001, 214, 0, 0, 0},
-#undef V81
-#define V81 (*(V + 81))
+#undef V81
+#define V81 (*(V + 81))
{0x1F001, 218, 0, 0, 0},
-#undef V82
-#define V82 (*(V + 82))
+#undef V82
+#define V82 (*(V + 82))
{0x1F001, 217, 0, 0, 0},
-#undef V83
-#define V83 (*(V + 83))
+#undef V83
+#define V83 (*(V + 83))
{0x1F001, 219, 0, 0, 0},
-#undef V84
-#define V84 (*(V + 84))
+#undef V84
+#define V84 (*(V + 84))
{0x1F006, 0, 0, 0, 0},
-#undef V85
-#define V85 (*(V + 85))
+#undef V85
+#define V85 (*(V + 85))
{0x1F002, 0, 56, 56, 0},
-#undef V86
-#define V86 (*(V + 86))
+#undef V86
+#define V86 (*(V + 86))
{0x13401, 2, 0, 1, 0},
-#undef V87
-#define V87 (*(V + 87))
+#undef V87
+#define V87 (*(V + 87))
{0x13403, 1, -1, 0, 0},
-#undef V88
-#define V88 (*(V + 88))
+#undef V88
+#define V88 (*(V + 88))
{0x13402, 0, -2, -1, 0},
-#undef V89
-#define V89 (*(V + 89))
+#undef V89
+#define V89 (*(V + 89))
{0x1F002, 0, -79, -79, 0},
-#undef V90
-#define V90 (*(V + 90))
+#undef V90
+#define V90 (*(V + 90))
{0x1A802, 0, 0, 0, 0},
-#undef V91
-#define V91 (*(V + 91))
+#undef V91
+#define V91 (*(V + 91))
{0x1F001, -97, 0, 0, 0},
-#undef V92
-#define V92 (*(V + 92))
+#undef V92
+#define V92 (*(V + 92))
{0x1F001, -56, 0, 0, 0},
-#undef V93
-#define V93 (*(V + 93))
+#undef V93
+#define V93 (*(V + 93))
{0x1F001, -130, 0, 0, 0},
-#undef V94
-#define V94 (*(V + 94))
+#undef V94
+#define V94 (*(V + 94))
{0x1F001, 10795, 0, 0, 0},
-#undef V95
-#define V95 (*(V + 95))
+#undef V95
+#define V95 (*(V + 95))
{0x1F001, -163, 0, 0, 0},
-#undef V96
-#define V96 (*(V + 96))
+#undef V96
+#define V96 (*(V + 96))
{0x1F001, 10792, 0, 0, 0},
-#undef V97
-#define V97 (*(V + 97))
+#undef V97
+#define V97 (*(V + 97))
{0x1F002, 0, 10815, 10815, 0},
-#undef V98
-#define V98 (*(V + 98))
+#undef V98
+#define V98 (*(V + 98))
{0x1F001, -195, 0, 0, 0},
-#undef V99
-#define V99 (*(V + 99))
+#undef V99
+#define V99 (*(V + 99))
{0x1F001, 69, 0, 0, 0},
-#undef V100
-#define V100 (*(V + 100))
+#undef V100
+#define V100 (*(V + 100))
{0x1F001, 71, 0, 0, 0},
-#undef V101
-#define V101 (*(V + 101))
+#undef V101
+#define V101 (*(V + 101))
{0x1F002, 0, 10783, 10783, 0},
-#undef V102
-#define V102 (*(V + 102))
+#undef V102
+#define V102 (*(V + 102))
{0x1F002, 0, 10780, 10780, 0},
-#undef V103
-#define V103 (*(V + 103))
+#undef V103
+#define V103 (*(V + 103))
{0x1F002, 0, 10782, 10782, 0},
-#undef V104
-#define V104 (*(V + 104))
+#undef V104
+#define V104 (*(V + 104))
{0x1F002, 0, -210, -210, 0},
-#undef V105
-#define V105 (*(V + 105))
+#undef V105
+#define V105 (*(V + 105))
{0x1F002, 0, -206, -206, 0},
-#undef V106
-#define V106 (*(V + 106))
+#undef V106
+#define V106 (*(V + 106))
{0x1F002, 0, -205, -205, 0},
-#undef V107
-#define V107 (*(V + 107))
+#undef V107
+#define V107 (*(V + 107))
{0x1F002, 0, -202, -202, 0},
-#undef V108
-#define V108 (*(V + 108))
+#undef V108
+#define V108 (*(V + 108))
{0x1F002, 0, -203, -203, 0},
-#undef V109
-#define V109 (*(V + 109))
+#undef V109
+#define V109 (*(V + 109))
{0x1F002, 0, 42319, 42319, 0},
-#undef V110
-#define V110 (*(V + 110))
+#undef V110
+#define V110 (*(V + 110))
{0x1F002, 0, 42315, 42315, 0},
-#undef V111
-#define V111 (*(V + 111))
+#undef V111
+#define V111 (*(V + 111))
{0x1F002, 0, -207, -207, 0},
-#undef V112
-#define V112 (*(V + 112))
+#undef V112
+#define V112 (*(V + 112))
{0x1F002, 0, 42280, 42280, 0},
-#undef V113
-#define V113 (*(V + 113))
+#undef V113
+#define V113 (*(V + 113))
{0x1F002, 0, 42308, 42308, 0},
-#undef V114
-#define V114 (*(V + 114))
+#undef V114
+#define V114 (*(V + 114))
{0x1F002, 0, -209, -209, 0},
-#undef V115
-#define V115 (*(V + 115))
+#undef V115
+#define V115 (*(V + 115))
{0x1F002, 0, -211, -211, 0},
-#undef V116
-#define V116 (*(V + 116))
+#undef V116
+#define V116 (*(V + 116))
{0x1F002, 0, 10743, 10743, 0},
-#undef V117
-#define V117 (*(V + 117))
+#undef V117
+#define V117 (*(V + 117))
{0x1F002, 0, 42305, 42305, 0},
-#undef V118
-#define V118 (*(V + 118))
+#undef V118
+#define V118 (*(V + 118))
{0x1F002, 0, 10749, 10749, 0},
-#undef V119
-#define V119 (*(V + 119))
+#undef V119
+#define V119 (*(V + 119))
{0x1F002, 0, -213, -213, 0},
-#undef V120
-#define V120 (*(V + 120))
+#undef V120
+#define V120 (*(V + 120))
{0x1F002, 0, -214, -214, 0},
-#undef V121
-#define V121 (*(V + 121))
+#undef V121
+#define V121 (*(V + 121))
{0x1F002, 0, 10727, 10727, 0},
-#undef V122
-#define V122 (*(V + 122))
+#undef V122
+#define V122 (*(V + 122))
{0x1F002, 0, -218, -218, 0},
-#undef V123
-#define V123 (*(V + 123))
+#undef V123
+#define V123 (*(V + 123))
{0x1F002, 0, 42282, 42282, 0},
-#undef V124
-#define V124 (*(V + 124))
+#undef V124
+#define V124 (*(V + 124))
{0x1F002, 0, -69, -69, 0},
-#undef V125
-#define V125 (*(V + 125))
+#undef V125
+#define V125 (*(V + 125))
{0x1F002, 0, -217, -217, 0},
-#undef V126
-#define V126 (*(V + 126))
+#undef V126
+#define V126 (*(V + 126))
{0x1F002, 0, -71, -71, 0},
-#undef V127
-#define V127 (*(V + 127))
+#undef V127
+#define V127 (*(V + 127))
{0x1F002, 0, -219, -219, 0},
-#undef V128
-#define V128 (*(V + 128))
+#undef V128
+#define V128 (*(V + 128))
{0x1F002, 0, 42261, 42261, 0},
-#undef V129
-#define V129 (*(V + 129))
+#undef V129
+#define V129 (*(V + 129))
{0x1F002, 0, 42258, 42258, 0},
-#undef V130
-#define V130 (*(V + 130))
+#undef V130
+#define V130 (*(V + 130))
{0x13405, 0, 0, 0, 0},
-#undef V131
-#define V131 (*(V + 131))
+#undef V131
+#define V131 (*(V + 131))
{0xBF005, 0, 0, 0, 0},
-#undef V132
-#define V132 (*(V + 132))
+#undef V132
+#define V132 (*(V + 132))
{0x1F005, 0, 0, 0, 0},
-#undef V133
-#define V133 (*(V + 133))
+#undef V133
+#define V133 (*(V + 133))
{0xBF004, 0, 0, 0, 0},
-#undef V134
-#define V134 (*(V + 134))
+#undef V134
+#define V134 (*(V + 134))
{0x1F004, 0, 0, 0, 0},
-#undef V135
-#define V135 (*(V + 135))
+#undef V135
+#define V135 (*(V + 135))
{0x500D, 0, 0, 0, 230},
-#undef V136
-#define V136 (*(V + 136))
+#undef V136
+#define V136 (*(V + 136))
{0xF00D, 0, 0, 0, 230},
-#undef V137
-#define V137 (*(V + 137))
+#undef V137
+#define V137 (*(V + 137))
{0xF00D, 0, 0, 0, 232},
-#undef V138
-#define V138 (*(V + 138))
+#undef V138
+#define V138 (*(V + 138))
{0xF00D, 0, 0, 0, 220},
-#undef V139
-#define V139 (*(V + 139))
+#undef V139
+#define V139 (*(V + 139))
{0x500D, 0, 0, 0, 216},
-#undef V140
-#define V140 (*(V + 140))
+#undef V140
+#define V140 (*(V + 140))
{0xF00D, 0, 0, 0, 202},
-#undef V141
-#define V141 (*(V + 141))
+#undef V141
+#define V141 (*(V + 141))
{0x500D, 0, 0, 0, 220},
-#undef V142
-#define V142 (*(V + 142))
+#undef V142
+#define V142 (*(V + 142))
{0x500D, 0, 0, 0, 202},
-#undef V143
-#define V143 (*(V + 143))
+#undef V143
+#define V143 (*(V + 143))
{0xF00D, 0, 0, 0, 1},
-#undef V144
-#define V144 (*(V + 144))
+#undef V144
+#define V144 (*(V + 144))
{0x500D, 0, 0, 0, 1},
-#undef V145
-#define V145 (*(V + 145))
+#undef V145
+#define V145 (*(V + 145))
{0x80D, 0, 0, 0, 230},
-#undef V146
-#define V146 (*(V + 146))
+#undef V146
+#define V146 (*(V + 146))
{0x500D, 0, 84, 84, 240},
-#undef V147
-#define V147 (*(V + 147))
+#undef V147
+#define V147 (*(V + 147))
{0xF00D, 0, 0, 0, 0},
-#undef V148
-#define V148 (*(V + 148))
+#undef V148
+#define V148 (*(V + 148))
{0xF00D, 0, 0, 0, 233},
-#undef V149
-#define V149 (*(V + 149))
+#undef V149
+#define V149 (*(V + 149))
{0xF00D, 0, 0, 0, 234},
-#undef V150
-#define V150 (*(V + 150))
+#undef V150
+#define V150 (*(V + 150))
{0xB0804, 0, 0, 0, 0},
-#undef V151
-#define V151 (*(V + 151))
+#undef V151
+#define V151 (*(V + 151))
{0xF000, 0, 0, 0, 0},
-#undef V152
-#define V152 (*(V + 152))
+#undef V152
+#define V152 (*(V + 152))
{0x13404, 0, 0, 0, 0},
-#undef V153
-#define V153 (*(V + 153))
+#undef V153
+#define V153 (*(V + 153))
{0xB082C, 0, 0, 0, 0},
-#undef V154
-#define V154 (*(V + 154))
+#undef V154
+#define V154 (*(V + 154))
{0x1F001, 116, 0, 0, 0},
-#undef V155
-#define V155 (*(V + 155))
+#undef V155
+#define V155 (*(V + 155))
{0xB2832, 0, 0, 0, 0},
-#undef V156
-#define V156 (*(V + 156))
+#undef V156
+#define V156 (*(V + 156))
{0x1A801, 38, 0, 0, 0},
-#undef V157
-#define V157 (*(V + 157))
+#undef V157
+#define V157 (*(V + 157))
{0x1A801, 37, 0, 0, 0},
-#undef V158
-#define V158 (*(V + 158))
+#undef V158
+#define V158 (*(V + 158))
{0x1A801, 64, 0, 0, 0},
-#undef V159
-#define V159 (*(V + 159))
+#undef V159
+#define V159 (*(V + 159))
{0x1A801, 63, 0, 0, 0},
-#undef V160
-#define V160 (*(V + 160))
+#undef V160
+#define V160 (*(V + 160))
{0x1A802, 0, -38, -38, 0},
-#undef V161
-#define V161 (*(V + 161))
+#undef V161
+#define V161 (*(V + 161))
{0x1A802, 0, -37, -37, 0},
-#undef V162
-#define V162 (*(V + 162))
+#undef V162
+#define V162 (*(V + 162))
{0x1F002, 0, -31, -31, 0},
-#undef V163
-#define V163 (*(V + 163))
+#undef V163
+#define V163 (*(V + 163))
{0x1A802, 0, -64, -64, 0},
-#undef V164
-#define V164 (*(V + 164))
+#undef V164
+#define V164 (*(V + 164))
{0x1A802, 0, -63, -63, 0},
-#undef V165
-#define V165 (*(V + 165))
+#undef V165
+#define V165 (*(V + 165))
{0x1F001, 8, 0, 0, 0},
-#undef V166
-#define V166 (*(V + 166))
+#undef V166
+#define V166 (*(V + 166))
{0x13402, 0, -62, -62, 0},
-#undef V167
-#define V167 (*(V + 167))
+#undef V167
+#define V167 (*(V + 167))
{0x13402, 0, -57, -57, 0},
-#undef V168
-#define V168 (*(V + 168))
+#undef V168
+#define V168 (*(V + 168))
{0x13401, 0, 0, 0, 0},
-#undef V169
-#define V169 (*(V + 169))
+#undef V169
+#define V169 (*(V + 169))
{0x12801, 0, 0, 0, 0},
-#undef V170
-#define V170 (*(V + 170))
+#undef V170
+#define V170 (*(V + 170))
{0x13402, 0, -47, -47, 0},
-#undef V171
-#define V171 (*(V + 171))
+#undef V171
+#define V171 (*(V + 171))
{0x13402, 0, -54, -54, 0},
-#undef V172
-#define V172 (*(V + 172))
+#undef V172
+#define V172 (*(V + 172))
{0x1F002, 0, -8, -8, 0},
-#undef V173
-#define V173 (*(V + 173))
+#undef V173
+#define V173 (*(V + 173))
{0x13402, 0, -86, -86, 0},
-#undef V174
-#define V174 (*(V + 174))
+#undef V174
+#define V174 (*(V + 174))
{0x13402, 0, -80, -80, 0},
-#undef V175
-#define V175 (*(V + 175))
+#undef V175
+#define V175 (*(V + 175))
{0x13402, 0, 7, 7, 0},
-#undef V176
-#define V176 (*(V + 176))
+#undef V176
+#define V176 (*(V + 176))
{0x1F002, 0, -116, -116, 0},
-#undef V177
-#define V177 (*(V + 177))
+#undef V177
+#define V177 (*(V + 177))
{0x13401, -60, 0, 0, 0},
-#undef V178
-#define V178 (*(V + 178))
+#undef V178
+#define V178 (*(V + 178))
{0x13402, 0, -96, -96, 0},
-#undef V179
-#define V179 (*(V + 179))
+#undef V179
+#define V179 (*(V + 179))
{0x13401, -7, 0, 0, 0},
-#undef V180
-#define V180 (*(V + 180))
+#undef V180
+#define V180 (*(V + 180))
{0x1A801, 80, 0, 0, 0},
-#undef V181
-#define V181 (*(V + 181))
+#undef V181
+#define V181 (*(V + 181))
{0x1F001, 80, 0, 0, 0},
-#undef V182
-#define V182 (*(V + 182))
+#undef V182
+#define V182 (*(V + 182))
{0x1A802, 0, -80, -80, 0},
-#undef V183
-#define V183 (*(V + 183))
+#undef V183
+#define V183 (*(V + 183))
{0x1F002, 0, -80, -80, 0},
-#undef V184
-#define V184 (*(V + 184))
+#undef V184
+#define V184 (*(V + 184))
{0x1F033, 0, 0, 0, 0},
-#undef V185
-#define V185 (*(V + 185))
+#undef V185
+#define V185 (*(V + 185))
{0xF00E, 0, 0, 0, 0},
-#undef V186
-#define V186 (*(V + 186))
+#undef V186
+#define V186 (*(V + 186))
{0x1F001, 15, 0, 0, 0},
-#undef V187
-#define V187 (*(V + 187))
+#undef V187
+#define V187 (*(V + 187))
{0x1F002, 0, -15, -15, 0},
-#undef V188
-#define V188 (*(V + 188))
+#undef V188
+#define V188 (*(V + 188))
{0x1F001, 48, 0, 0, 0},
-#undef V189
-#define V189 (*(V + 189))
+#undef V189
+#define V189 (*(V + 189))
{0x1F02A, 0, 0, 0, 0},
-#undef V190
-#define V190 (*(V + 190))
+#undef V190
+#define V190 (*(V + 190))
{0x1F002, 0, -48, -48, 0},
-#undef V191
-#define V191 (*(V + 191))
+#undef V191
+#define V191 (*(V + 191))
{0x1F02C, 0, 0, 0, 0},
-#undef V192
-#define V192 (*(V + 192))
+#undef V192
+#define V192 (*(V + 192))
{0xBF022, 0, 0, 0, 0},
-#undef V193
-#define V193 (*(V + 193))
+#undef V193
+#define V193 (*(V + 193))
{0xF00D, 0, 0, 0, 222},
-#undef V194
-#define V194 (*(V + 194))
+#undef V194
+#define V194 (*(V + 194))
{0xF00D, 0, 0, 0, 228},
-#undef V195
-#define V195 (*(V + 195))
+#undef V195
+#define V195 (*(V + 195))
{0xF00D, 0, 0, 0, 10},
-#undef V196
-#define V196 (*(V + 196))
+#undef V196
+#define V196 (*(V + 196))
{0xF00D, 0, 0, 0, 11},
-#undef V197
-#define V197 (*(V + 197))
+#undef V197
+#define V197 (*(V + 197))
{0xF00D, 0, 0, 0, 12},
-#undef V198
-#define V198 (*(V + 198))
+#undef V198
+#define V198 (*(V + 198))
{0xF00D, 0, 0, 0, 13},
-#undef V199
-#define V199 (*(V + 199))
+#undef V199
+#define V199 (*(V + 199))
{0xF00D, 0, 0, 0, 14},
-#undef V200
-#define V200 (*(V + 200))
+#undef V200
+#define V200 (*(V + 200))
{0xF00D, 0, 0, 0, 15},
-#undef V201
-#define V201 (*(V + 201))
+#undef V201
+#define V201 (*(V + 201))
{0xF00D, 0, 0, 0, 16},
-#undef V202
-#define V202 (*(V + 202))
+#undef V202
+#define V202 (*(V + 202))
{0xF00D, 0, 0, 0, 17},
-#undef V203
-#define V203 (*(V + 203))
+#undef V203
+#define V203 (*(V + 203))
{0xF00D, 0, 0, 0, 18},
-#undef V204
-#define V204 (*(V + 204))
+#undef V204
+#define V204 (*(V + 204))
{0xF00D, 0, 0, 0, 19},
-#undef V205
-#define V205 (*(V + 205))
+#undef V205
+#define V205 (*(V + 205))
{0xF00D, 0, 0, 0, 20},
-#undef V206
-#define V206 (*(V + 206))
+#undef V206
+#define V206 (*(V + 206))
{0xF00D, 0, 0, 0, 21},
-#undef V207
-#define V207 (*(V + 207))
+#undef V207
+#define V207 (*(V + 207))
{0xF00D, 0, 0, 0, 22},
-#undef V208
-#define V208 (*(V + 208))
+#undef V208
+#define V208 (*(V + 208))
{0x2F021, 0, 0, 0, 0},
-#undef V209
-#define V209 (*(V + 209))
+#undef V209
+#define V209 (*(V + 209))
{0xF00D, 0, 0, 0, 23},
-#undef V210
-#define V210 (*(V + 210))
+#undef V210
+#define V210 (*(V + 210))
{0x2F02A, 0, 0, 0, 0},
-#undef V211
-#define V211 (*(V + 211))
+#undef V211
+#define V211 (*(V + 211))
{0xF00D, 0, 0, 0, 24},
-#undef V212
-#define V212 (*(V + 212))
+#undef V212
+#define V212 (*(V + 212))
{0xF00D, 0, 0, 0, 25},
-#undef V213
-#define V213 (*(V + 213))
+#undef V213
+#define V213 (*(V + 213))
{0x2F006, 0, 0, 0, 0},
-#undef V214
-#define V214 (*(V + 214))
+#undef V214
+#define V214 (*(V + 214))
{0x6F01B, 0, 0, 0, 0},
-#undef V215
-#define V215 (*(V + 215))
+#undef V215
+#define V215 (*(V + 215))
{0xF02F, 0, 0, 0, 0},
-#undef V216
-#define V216 (*(V + 216))
+#undef V216
+#define V216 (*(V + 216))
{0xF031, 0, 0, 0, 0},
-#undef V217
-#define V217 (*(V + 217))
+#undef V217
+#define V217 (*(V + 217))
{0xF02A, 0, 0, 0, 0},
-#undef V218
-#define V218 (*(V + 218))
+#undef V218
+#define V218 (*(V + 218))
{0xF00D, 0, 0, 0, 30},
-#undef V219
-#define V219 (*(V + 219))
+#undef V219
+#define V219 (*(V + 219))
{0xF00D, 0, 0, 0, 31},
-#undef V220
-#define V220 (*(V + 220))
+#undef V220
+#define V220 (*(V + 220))
{0xF00D, 0, 0, 0, 32},
-#undef V221
-#define V221 (*(V + 221))
+#undef V221
+#define V221 (*(V + 221))
{0xF02C, 0, 0, 0, 0},
-#undef V222
-#define V222 (*(V + 222))
+#undef V222
+#define V222 (*(V + 222))
{0xF006, 0, 0, 0, 0},
-#undef V223
-#define V223 (*(V + 223))
+#undef V223
+#define V223 (*(V + 223))
{0xA806, 0, 0, 0, 0},
-#undef V224
-#define V224 (*(V + 224))
+#undef V224
+#define V224 (*(V + 224))
{0xF004, 0, 0, 0, 0},
-#undef V225
-#define V225 (*(V + 225))
+#undef V225
+#define V225 (*(V + 225))
{0xF00D, 0, 0, 0, 27},
-#undef V226
-#define V226 (*(V + 226))
+#undef V226
+#define V226 (*(V + 226))
{0xF00D, 0, 0, 0, 28},
-#undef V227
-#define V227 (*(V + 227))
+#undef V227
+#define V227 (*(V + 227))
{0xF00D, 0, 0, 0, 29},
-#undef V228
-#define V228 (*(V + 228))
+#undef V228
+#define V228 (*(V + 228))
{0xF00D, 0, 0, 0, 33},
-#undef V229
-#define V229 (*(V + 229))
+#undef V229
+#define V229 (*(V + 229))
{0xF00D, 0, 0, 0, 34},
-#undef V230
-#define V230 (*(V + 230))
+#undef V230
+#define V230 (*(V + 230))
{0x6F090, 0, 0, 0, 0},
-#undef V231
-#define V231 (*(V + 231))
+#undef V231
+#define V231 (*(V + 231))
{0x46F090, 0, 0, 0, 0},
-#undef V232
-#define V232 (*(V + 232))
+#undef V232
+#define V232 (*(V + 232))
{0x86F090, 0, 0, 0, 0},
-#undef V233
-#define V233 (*(V + 233))
+#undef V233
+#define V233 (*(V + 233))
{0xC6F090, 0, 0, 0, 0},
-#undef V234
-#define V234 (*(V + 234))
+#undef V234
+#define V234 (*(V + 234))
{0x106F090, 0, 0, 0, 0},
-#undef V235
-#define V235 (*(V + 235))
+#undef V235
+#define V235 (*(V + 235))
{0x146F090, 0, 0, 0, 0},
-#undef V236
-#define V236 (*(V + 236))
+#undef V236
+#define V236 (*(V + 236))
{0x186F090, 0, 0, 0, 0},
-#undef V237
-#define V237 (*(V + 237))
+#undef V237
+#define V237 (*(V + 237))
{0x1C6F090, 0, 0, 0, 0},
-#undef V238
-#define V238 (*(V + 238))
+#undef V238
+#define V238 (*(V + 238))
{0x206F090, 0, 0, 0, 0},
-#undef V239
-#define V239 (*(V + 239))
+#undef V239
+#define V239 (*(V + 239))
{0x246F090, 0, 0, 0, 0},
-#undef V240
-#define V240 (*(V + 240))
+#undef V240
+#define V240 (*(V + 240))
{0x6F02A, 0, 0, 0, 0},
-#undef V241
-#define V241 (*(V + 241))
+#undef V241
+#define V241 (*(V + 241))
{0xF00D, 0, 0, 0, 35},
-#undef V242
-#define V242 (*(V + 242))
+#undef V242
+#define V242 (*(V + 242))
{0x3406, 0, 0, 0, 0},
-#undef V243
-#define V243 (*(V + 243))
+#undef V243
+#define V243 (*(V + 243))
{0xF005, 0, 0, 0, 0},
-#undef V244
-#define V244 (*(V + 244))
+#undef V244
+#define V244 (*(V + 244))
{0x3F090, 0, 0, 0, 0},
-#undef V245
-#define V245 (*(V + 245))
+#undef V245
+#define V245 (*(V + 245))
{0x43F090, 0, 0, 0, 0},
-#undef V246
-#define V246 (*(V + 246))
+#undef V246
+#define V246 (*(V + 246))
{0x83F090, 0, 0, 0, 0},
-#undef V247
-#define V247 (*(V + 247))
+#undef V247
+#define V247 (*(V + 247))
{0xC3F090, 0, 0, 0, 0},
-#undef V248
-#define V248 (*(V + 248))
+#undef V248
+#define V248 (*(V + 248))
{0x103F090, 0, 0, 0, 0},
-#undef V249
-#define V249 (*(V + 249))
+#undef V249
+#define V249 (*(V + 249))
{0x143F090, 0, 0, 0, 0},
-#undef V250
-#define V250 (*(V + 250))
+#undef V250
+#define V250 (*(V + 250))
{0x183F090, 0, 0, 0, 0},
-#undef V251
-#define V251 (*(V + 251))
+#undef V251
+#define V251 (*(V + 251))
{0x1C3F090, 0, 0, 0, 0},
-#undef V252
-#define V252 (*(V + 252))
+#undef V252
+#define V252 (*(V + 252))
{0x203F090, 0, 0, 0, 0},
-#undef V253
-#define V253 (*(V + 253))
+#undef V253
+#define V253 (*(V + 253))
{0x243F090, 0, 0, 0, 0},
-#undef V254
-#define V254 (*(V + 254))
+#undef V254
+#define V254 (*(V + 254))
{0xF033, 0, 0, 0, 0},
-#undef V255
-#define V255 (*(V + 255))
+#undef V255
+#define V255 (*(V + 255))
{0xF00D, 0, 0, 0, 36},
-#undef V256
-#define V256 (*(V + 256))
+#undef V256
+#define V256 (*(V + 256))
{0x2F090, 0, 0, 0, 0},
-#undef V257
-#define V257 (*(V + 257))
+#undef V257
+#define V257 (*(V + 257))
{0x42F090, 0, 0, 0, 0},
-#undef V258
-#define V258 (*(V + 258))
+#undef V258
+#define V258 (*(V + 258))
{0x82F090, 0, 0, 0, 0},
-#undef V259
-#define V259 (*(V + 259))
+#undef V259
+#define V259 (*(V + 259))
{0xC2F090, 0, 0, 0, 0},
-#undef V260
-#define V260 (*(V + 260))
+#undef V260
+#define V260 (*(V + 260))
{0x102F090, 0, 0, 0, 0},
-#undef V261
-#define V261 (*(V + 261))
+#undef V261
+#define V261 (*(V + 261))
{0x142F090, 0, 0, 0, 0},
-#undef V262
-#define V262 (*(V + 262))
+#undef V262
+#define V262 (*(V + 262))
{0x182F090, 0, 0, 0, 0},
-#undef V263
-#define V263 (*(V + 263))
+#undef V263
+#define V263 (*(V + 263))
{0x1C2F090, 0, 0, 0, 0},
-#undef V264
-#define V264 (*(V + 264))
+#undef V264
+#define V264 (*(V + 264))
{0x202F090, 0, 0, 0, 0},
-#undef V265
-#define V265 (*(V + 265))
+#undef V265
+#define V265 (*(V + 265))
{0x242F090, 0, 0, 0, 0},
-#undef V266
-#define V266 (*(V + 266))
+#undef V266
+#define V266 (*(V + 266))
{0x2F004, 0, 0, 0, 0},
-#undef V267
-#define V267 (*(V + 267))
+#undef V267
+#define V267 (*(V + 267))
{0x2F005, 0, 0, 0, 0},
-#undef V268
-#define V268 (*(V + 268))
+#undef V268
+#define V268 (*(V + 268))
{0x1F00F, 0, 0, 0, 0},
-#undef V269
-#define V269 (*(V + 269))
+#undef V269
+#define V269 (*(V + 269))
{0x1A806, 0, 0, 0, 0},
-#undef V270
-#define V270 (*(V + 270))
+#undef V270
+#define V270 (*(V + 270))
{0x500D, 0, 0, 0, 7},
-#undef V271
-#define V271 (*(V + 271))
+#undef V271
+#define V271 (*(V + 271))
{0xF00D, 0, 0, 0, 9},
-#undef V272
-#define V272 (*(V + 272))
+#undef V272
+#define V272 (*(V + 272))
{0x10806, 0, 0, 0, 0},
-#undef V273
-#define V273 (*(V + 273))
+#undef V273
+#define V273 (*(V + 273))
{0x1F090, 0, 0, 0, 0},
-#undef V274
-#define V274 (*(V + 274))
+#undef V274
+#define V274 (*(V + 274))
{0x41F090, 0, 0, 0, 0},
-#undef V275
-#define V275 (*(V + 275))
+#undef V275
+#define V275 (*(V + 275))
{0x81F090, 0, 0, 0, 0},
-#undef V276
-#define V276 (*(V + 276))
+#undef V276
+#define V276 (*(V + 276))
{0xC1F090, 0, 0, 0, 0},
-#undef V277
-#define V277 (*(V + 277))
+#undef V277
+#define V277 (*(V + 277))
{0x101F090, 0, 0, 0, 0},
-#undef V278
-#define V278 (*(V + 278))
+#undef V278
+#define V278 (*(V + 278))
{0x141F090, 0, 0, 0, 0},
-#undef V279
-#define V279 (*(V + 279))
+#undef V279
+#define V279 (*(V + 279))
{0x181F090, 0, 0, 0, 0},
-#undef V280
-#define V280 (*(V + 280))
+#undef V280
+#define V280 (*(V + 280))
{0x1C1F090, 0, 0, 0, 0},
-#undef V281
-#define V281 (*(V + 281))
+#undef V281
+#define V281 (*(V + 281))
{0x201F090, 0, 0, 0, 0},
-#undef V282
-#define V282 (*(V + 282))
+#undef V282
+#define V282 (*(V + 282))
{0x241F090, 0, 0, 0, 0},
-#undef V283
-#define V283 (*(V + 283))
+#undef V283
+#define V283 (*(V + 283))
{0xF00D, 0, 0, 0, 7},
-#undef V284
-#define V284 (*(V + 284))
+#undef V284
+#define V284 (*(V + 284))
{0x1500F, 0, 0, 0, 0},
-#undef V285
-#define V285 (*(V + 285))
+#undef V285
+#define V285 (*(V + 285))
{0x1A80F, 0, 0, 0, 0},
-#undef V286
-#define V286 (*(V + 286))
+#undef V286
+#define V286 (*(V + 286))
{0x1F013, 0, 0, 0, 0},
-#undef V287
-#define V287 (*(V + 287))
+#undef V287
+#define V287 (*(V + 287))
{0x500D, 0, 0, 0, 0},
-#undef V288
-#define V288 (*(V + 288))
+#undef V288
+#define V288 (*(V + 288))
{0xA80D, 0, 0, 0, 0},
-#undef V289
-#define V289 (*(V + 289))
+#undef V289
+#define V289 (*(V + 289))
{0xF00D, 0, 0, 0, 84},
-#undef V290
-#define V290 (*(V + 290))
+#undef V290
+#define V290 (*(V + 290))
{0x500D, 0, 0, 0, 91},
-#undef V291
-#define V291 (*(V + 291))
+#undef V291
+#define V291 (*(V + 291))
{0xBF013, 0, 0, 0, 0},
-#undef V292
-#define V292 (*(V + 292))
+#undef V292
+#define V292 (*(V + 292))
{0x1F00D, 0, 0, 0, 0},
-#undef V293
-#define V293 (*(V + 293))
+#undef V293
+#define V293 (*(V + 293))
{0x500D, 0, 0, 0, 9},
-#undef V294
-#define V294 (*(V + 294))
+#undef V294
+#define V294 (*(V + 294))
{0xF00D, 0, 0, 0, 103},
-#undef V295
-#define V295 (*(V + 295))
+#undef V295
+#define V295 (*(V + 295))
{0xF00D, 0, 0, 0, 107},
-#undef V296
-#define V296 (*(V + 296))
+#undef V296
+#define V296 (*(V + 296))
{0xF00D, 0, 0, 0, 118},
-#undef V297
-#define V297 (*(V + 297))
+#undef V297
+#define V297 (*(V + 297))
{0xF00D, 0, 0, 0, 122},
-#undef V298
-#define V298 (*(V + 298))
+#undef V298
+#define V298 (*(V + 298))
{0x1342A, 0, 0, 0, 0},
-#undef V299
-#define V299 (*(V + 299))
+#undef V299
+#define V299 (*(V + 299))
{0xF00D, 0, 0, 0, 216},
-#undef V300
-#define V300 (*(V + 300))
+#undef V300
+#define V300 (*(V + 300))
{0xF00D, 0, 0, 0, 129},
-#undef V301
-#define V301 (*(V + 301))
+#undef V301
+#define V301 (*(V + 301))
{0xF00D, 0, 0, 0, 130},
-#undef V302
-#define V302 (*(V + 302))
+#undef V302
+#define V302 (*(V + 302))
{0x80D, 0, 0, 0, 0},
-#undef V303
-#define V303 (*(V + 303))
+#undef V303
+#define V303 (*(V + 303))
{0xF00D, 0, 0, 0, 132},
-#undef V304
-#define V304 (*(V + 304))
+#undef V304
+#define V304 (*(V + 304))
{0x340D, 0, 0, 0, 0},
-#undef V305
-#define V305 (*(V + 305))
+#undef V305
+#define V305 (*(V + 305))
{0x1F001, 7264, 0, 0, 0},
-#undef V306
-#define V306 (*(V + 306))
+#undef V306
+#define V306 (*(V + 306))
{0x1F00A, 0, 0, 0, 0},
-#undef V307
-#define V307 (*(V + 307))
+#undef V307
+#define V307 (*(V + 307))
{0x1F00B, 0, 0, 0, 0},
-#undef V308
-#define V308 (*(V + 308))
+#undef V308
+#define V308 (*(V + 308))
{0x1500B, 0, 0, 0, 0},
-#undef V309
-#define V309 (*(V + 309))
+#undef V309
+#define V309 (*(V + 309))
{0x1500C, 0, 0, 0, 0},
-#undef V310
-#define V310 (*(V + 310))
+#undef V310
+#define V310 (*(V + 310))
{0x1F00C, 0, 0, 0, 0},
-#undef V311
-#define V311 (*(V + 311))
+#undef V311
+#define V311 (*(V + 311))
{0x41F093, 0, 0, 0, 0},
-#undef V312
-#define V312 (*(V + 312))
+#undef V312
+#define V312 (*(V + 312))
{0x81F093, 0, 0, 0, 0},
-#undef V313
-#define V313 (*(V + 313))
+#undef V313
+#define V313 (*(V + 313))
{0xC1F093, 0, 0, 0, 0},
-#undef V314
-#define V314 (*(V + 314))
+#undef V314
+#define V314 (*(V + 314))
{0x101F093, 0, 0, 0, 0},
-#undef V315
-#define V315 (*(V + 315))
+#undef V315
+#define V315 (*(V + 315))
{0x141F093, 0, 0, 0, 0},
-#undef V316
-#define V316 (*(V + 316))
+#undef V316
+#define V316 (*(V + 316))
{0x181F093, 0, 0, 0, 0},
-#undef V317
-#define V317 (*(V + 317))
+#undef V317
+#define V317 (*(V + 317))
{0x1C1F093, 0, 0, 0, 0},
-#undef V318
-#define V318 (*(V + 318))
+#undef V318
+#define V318 (*(V + 318))
{0x201F093, 0, 0, 0, 0},
-#undef V319
-#define V319 (*(V + 319))
+#undef V319
+#define V319 (*(V + 319))
{0x241F093, 0, 0, 0, 0},
-#undef V320
-#define V320 (*(V + 320))
+#undef V320
+#define V320 (*(V + 320))
{0x1F001, 38864, 0, 0, 0},
-#undef V321
-#define V321 (*(V + 321))
+#undef V321
+#define V321 (*(V + 321))
{0x1F011, 0, 0, 0, 0},
-#undef V322
-#define V322 (*(V + 322))
+#undef V322
+#define V322 (*(V + 322))
{0x1F00F, 0, 0, 0, 9},
-#undef V323
-#define V323 (*(V + 323))
+#undef V323
+#define V323 (*(V + 323))
{0x1F002, 0, -6254, -6254, 0},
-#undef V324
-#define V324 (*(V + 324))
+#undef V324
+#define V324 (*(V + 324))
{0x1F002, 0, -6253, -6253, 0},
-#undef V325
-#define V325 (*(V + 325))
+#undef V325
+#define V325 (*(V + 325))
{0x1F002, 0, -6244, -6244, 0},
-#undef V326
-#define V326 (*(V + 326))
+#undef V326
+#define V326 (*(V + 326))
{0x1F002, 0, -6242, -6242, 0},
-#undef V327
-#define V327 (*(V + 327))
+#undef V327
+#define V327 (*(V + 327))
{0x1F002, 0, -6243, -6243, 0},
-#undef V328
-#define V328 (*(V + 328))
+#undef V328
+#define V328 (*(V + 328))
{0x1F002, 0, -6236, -6236, 0},
-#undef V329
-#define V329 (*(V + 329))
+#undef V329
+#define V329 (*(V + 329))
{0x1F002, 0, -6181, -6181, 0},
-#undef V330
-#define V330 (*(V + 330))
+#undef V330
+#define V330 (*(V + 330))
{0x1F002, 0, 35266, 35266, 0},
-#undef V331
-#define V331 (*(V + 331))
+#undef V331
+#define V331 (*(V + 331))
{0x1F002, 0, 35332, 35332, 0},
-#undef V332
-#define V332 (*(V + 332))
+#undef V332
+#define V332 (*(V + 332))
{0x1F002, 0, 3814, 3814, 0},
-#undef V333
-#define V333 (*(V + 333))
+#undef V333
+#define V333 (*(V + 333))
{0xF00D, 0, 0, 0, 214},
-#undef V334
-#define V334 (*(V + 334))
+#undef V334
+#define V334 (*(V + 334))
{0x12802, 0, -59, -59, 0},
-#undef V335
-#define V335 (*(V + 335))
+#undef V335
+#define V335 (*(V + 335))
{0x1F001, -7615, 0, 0, 0},
-#undef V336
-#define V336 (*(V + 336))
+#undef V336
+#define V336 (*(V + 336))
{0x1A802, 0, 8, 8, 0},
-#undef V337
-#define V337 (*(V + 337))
+#undef V337
+#define V337 (*(V + 337))
{0x1A801, -8, 0, 0, 0},
-#undef V338
-#define V338 (*(V + 338))
+#undef V338
+#define V338 (*(V + 338))
{0x1A802, 0, 74, 74, 0},
-#undef V339
-#define V339 (*(V + 339))
+#undef V339
+#define V339 (*(V + 339))
{0x10802, 0, 74, 74, 0},
-#undef V340
-#define V340 (*(V + 340))
+#undef V340
+#define V340 (*(V + 340))
{0x1A802, 0, 86, 86, 0},
-#undef V341
-#define V341 (*(V + 341))
+#undef V341
+#define V341 (*(V + 341))
{0x10802, 0, 86, 86, 0},
-#undef V342
-#define V342 (*(V + 342))
+#undef V342
+#define V342 (*(V + 342))
{0x1A802, 0, 100, 100, 0},
-#undef V343
-#define V343 (*(V + 343))
+#undef V343
+#define V343 (*(V + 343))
{0x10802, 0, 100, 100, 0},
-#undef V344
-#define V344 (*(V + 344))
+#undef V344
+#define V344 (*(V + 344))
{0x1A802, 0, 128, 128, 0},
-#undef V345
-#define V345 (*(V + 345))
+#undef V345
+#define V345 (*(V + 345))
{0x10802, 0, 128, 128, 0},
-#undef V346
-#define V346 (*(V + 346))
+#undef V346
+#define V346 (*(V + 346))
{0x1A802, 0, 112, 112, 0},
-#undef V347
-#define V347 (*(V + 347))
+#undef V347
+#define V347 (*(V + 347))
{0x10802, 0, 112, 112, 0},
-#undef V348
-#define V348 (*(V + 348))
+#undef V348
+#define V348 (*(V + 348))
{0x1A802, 0, 126, 126, 0},
-#undef V349
-#define V349 (*(V + 349))
+#undef V349
+#define V349 (*(V + 349))
{0x10802, 0, 126, 126, 0},
-#undef V350
-#define V350 (*(V + 350))
+#undef V350
+#define V350 (*(V + 350))
{0x1A803, -8, 0, 0, 0},
-#undef V351
-#define V351 (*(V + 351))
+#undef V351
+#define V351 (*(V + 351))
{0x1A802, 0, 9, 9, 0},
-#undef V352
-#define V352 (*(V + 352))
+#undef V352
+#define V352 (*(V + 352))
{0x1A801, -74, 0, 0, 0},
-#undef V353
-#define V353 (*(V + 353))
+#undef V353
+#define V353 (*(V + 353))
{0x10801, -74, 0, 0, 0},
-#undef V354
-#define V354 (*(V + 354))
+#undef V354
+#define V354 (*(V + 354))
{0x1A803, -9, 0, 0, 0},
-#undef V355
-#define V355 (*(V + 355))
+#undef V355
+#define V355 (*(V + 355))
{0x10802, 0, -7205, -7205, 0},
-#undef V356
-#define V356 (*(V + 356))
+#undef V356
+#define V356 (*(V + 356))
{0x1A801, -86, 0, 0, 0},
-#undef V357
-#define V357 (*(V + 357))
+#undef V357
+#define V357 (*(V + 357))
{0x10801, -86, 0, 0, 0},
-#undef V358
-#define V358 (*(V + 358))
+#undef V358
+#define V358 (*(V + 358))
{0x10802, 0, 0, 0, 0},
-#undef V359
-#define V359 (*(V + 359))
+#undef V359
+#define V359 (*(V + 359))
{0x1A801, -100, 0, 0, 0},
-#undef V360
-#define V360 (*(V + 360))
+#undef V360
+#define V360 (*(V + 360))
{0x10801, -100, 0, 0, 0},
-#undef V361
-#define V361 (*(V + 361))
+#undef V361
+#define V361 (*(V + 361))
{0x1A802, 0, 7, 7, 0},
-#undef V362
-#define V362 (*(V + 362))
+#undef V362
+#define V362 (*(V + 362))
{0x1A801, -112, 0, 0, 0},
-#undef V363
-#define V363 (*(V + 363))
+#undef V363
+#define V363 (*(V + 363))
{0x10801, -112, 0, 0, 0},
-#undef V364
-#define V364 (*(V + 364))
+#undef V364
+#define V364 (*(V + 364))
{0x1A801, -7, 0, 0, 0},
-#undef V365
-#define V365 (*(V + 365))
+#undef V365
+#define V365 (*(V + 365))
{0xB0832, 0, 0, 0, 0},
-#undef V366
-#define V366 (*(V + 366))
+#undef V366
+#define V366 (*(V + 366))
{0x1A801, -128, 0, 0, 0},
-#undef V367
-#define V367 (*(V + 367))
+#undef V367
+#define V367 (*(V + 367))
{0x10801, -128, 0, 0, 0},
-#undef V368
-#define V368 (*(V + 368))
+#undef V368
+#define V368 (*(V + 368))
{0x1A801, -126, 0, 0, 0},
-#undef V369
-#define V369 (*(V + 369))
+#undef V369
+#define V369 (*(V + 369))
{0x10801, -126, 0, 0, 0},
-#undef V370
-#define V370 (*(V + 370))
+#undef V370
+#define V370 (*(V + 370))
{0xA0814, 0, 0, 0, 0},
-#undef V371
-#define V371 (*(V + 371))
+#undef V371
+#define V371 (*(V + 371))
{0xA3414, 0, 0, 0, 0},
-#undef V372
-#define V372 (*(V + 372))
+#undef V372
+#define V372 (*(V + 372))
{0xF015, 0, 0, 0, 0},
-#undef V373
-#define V373 (*(V + 373))
+#undef V373
+#define V373 (*(V + 373))
{0xF01C, 0, 0, 0, 0},
-#undef V374
-#define V374 (*(V + 374))
+#undef V374
+#define V374 (*(V + 374))
{0x1F01D, 0, 0, 0, 0},
-#undef V375
-#define V375 (*(V + 375))
+#undef V375
+#define V375 (*(V + 375))
{0x2F01D, 0, 0, 0, 0},
-#undef V376
-#define V376 (*(V + 376))
+#undef V376
+#define V376 (*(V + 376))
{0xB3522, 0, 0, 0, 0},
-#undef V377
-#define V377 (*(V + 377))
+#undef V377
+#define V377 (*(V + 377))
{0xBF021, 0, 0, 0, 0},
-#undef V378
-#define V378 (*(V + 378))
+#undef V378
+#define V378 (*(V + 378))
{0xB342A, 0, 0, 0, 0},
-#undef V379
-#define V379 (*(V + 379))
+#undef V379
+#define V379 (*(V + 379))
{0xBF036, 0, 0, 0, 0},
-#undef V380
-#define V380 (*(V + 380))
+#undef V380
+#define V380 (*(V + 380))
{0xBF037, 0, 0, 0, 0},
-#undef V381
-#define V381 (*(V + 381))
+#undef V381
+#define V381 (*(V + 381))
{0xBF034, 0, 0, 0, 0},
-#undef V382
-#define V382 (*(V + 382))
+#undef V382
+#define V382 (*(V + 382))
{0xBF024, 0, 0, 0, 0},
-#undef V383
-#define V383 (*(V + 383))
+#undef V383
+#define V383 (*(V + 383))
{0xB342C, 0, 0, 0, 0},
-#undef V384
-#define V384 (*(V + 384))
+#undef V384
+#define V384 (*(V + 384))
{0xAF016, 0, 0, 0, 0},
-#undef V385
-#define V385 (*(V + 385))
+#undef V385
+#define V385 (*(V + 385))
{0x8F017, 0, 0, 0, 0},
-#undef V386
-#define V386 (*(V + 386))
+#undef V386
+#define V386 (*(V + 386))
{0xF01D, 0, 0, 0, 0},
-#undef V387
-#define V387 (*(V + 387))
+#undef V387
+#define V387 (*(V + 387))
{0x5F038, 0, 0, 0, 0},
-#undef V388
-#define V388 (*(V + 388))
+#undef V388
+#define V388 (*(V + 388))
{0x5342B, 0, 0, 0, 0},
-#undef V389
-#define V389 (*(V + 389))
+#undef V389
+#define V389 (*(V + 389))
{0xB342B, 0, 0, 0, 0},
-#undef V390
-#define V390 (*(V + 390))
+#undef V390
+#define V390 (*(V + 390))
{0x7F02F, 0, 0, 0, 0},
-#undef V391
-#define V391 (*(V + 391))
+#undef V391
+#define V391 (*(V + 391))
{0x33493, 0, 0, 0, 0},
-#undef V392
-#define V392 (*(V + 392))
+#undef V392
+#define V392 (*(V + 392))
{0x1033493, 0, 0, 0, 0},
-#undef V393
-#define V393 (*(V + 393))
+#undef V393
+#define V393 (*(V + 393))
{0x1433493, 0, 0, 0, 0},
-#undef V394
-#define V394 (*(V + 394))
+#undef V394
+#define V394 (*(V + 394))
{0x1833493, 0, 0, 0, 0},
-#undef V395
-#define V395 (*(V + 395))
+#undef V395
+#define V395 (*(V + 395))
{0x1C33493, 0, 0, 0, 0},
-#undef V396
-#define V396 (*(V + 396))
+#undef V396
+#define V396 (*(V + 396))
{0x2033493, 0, 0, 0, 0},
-#undef V397
-#define V397 (*(V + 397))
+#undef V397
+#define V397 (*(V + 397))
{0x2433493, 0, 0, 0, 0},
-#undef V398
-#define V398 (*(V + 398))
+#undef V398
+#define V398 (*(V + 398))
{0x4342F, 0, 0, 0, 0},
-#undef V399
-#define V399 (*(V + 399))
+#undef V399
+#define V399 (*(V + 399))
{0x43430, 0, 0, 0, 0},
-#undef V400
-#define V400 (*(V + 400))
+#undef V400
+#define V400 (*(V + 400))
{0xB342F, 0, 0, 0, 0},
-#undef V401
-#define V401 (*(V + 401))
+#undef V401
+#define V401 (*(V + 401))
{0xB3423, 0, 0, 0, 0},
-#undef V402
-#define V402 (*(V + 402))
+#undef V402
+#define V402 (*(V + 402))
{0xB3425, 0, 0, 0, 0},
-#undef V403
-#define V403 (*(V + 403))
+#undef V403
+#define V403 (*(V + 403))
{0x53431, 0, 0, 0, 0},
-#undef V404
-#define V404 (*(V + 404))
+#undef V404
+#define V404 (*(V + 404))
{0xB3433, 0, 0, 0, 0},
-#undef V405
-#define V405 (*(V + 405))
+#undef V405
+#define V405 (*(V + 405))
{0x10801, -7517, 0, 0, 0},
-#undef V406
-#define V406 (*(V + 406))
+#undef V406
+#define V406 (*(V + 406))
{0x10801, -8383, 0, 0, 0},
-#undef V407
-#define V407 (*(V + 407))
+#undef V407
+#define V407 (*(V + 407))
{0x10801, -8262, 0, 0, 0},
-#undef V408
-#define V408 (*(V + 408))
+#undef V408
+#define V408 (*(V + 408))
{0x1F001, 28, 0, 0, 0},
-#undef V409
-#define V409 (*(V + 409))
+#undef V409
+#define V409 (*(V + 409))
{0x1F002, 0, -28, -28, 0},
-#undef V410
-#define V410 (*(V + 410))
+#undef V410
+#define V410 (*(V + 410))
{0x13411, 16, 0, 0, 0},
-#undef V411
-#define V411 (*(V + 411))
+#undef V411
+#define V411 (*(V + 411))
{0x13411, 0, -16, -16, 0},
-#undef V412
-#define V412 (*(V + 412))
+#undef V412
+#define V412 (*(V + 412))
{0xBA82F, 0, 0, 0, 0},
-#undef V413
-#define V413 (*(V + 413))
+#undef V413
+#define V413 (*(V + 413))
{0xBA833, 0, 0, 0, 0},
-#undef V414
-#define V414 (*(V + 414))
+#undef V414
+#define V414 (*(V + 414))
{0x4F030, 0, 0, 0, 0},
-#undef V415
-#define V415 (*(V + 415))
+#undef V415
+#define V415 (*(V + 415))
{0xB0823, 0, 0, 0, 0},
-#undef V416
-#define V416 (*(V + 416))
+#undef V416
+#define V416 (*(V + 416))
{0xB0825, 0, 0, 0, 0},
-#undef V417
-#define V417 (*(V + 417))
+#undef V417
+#define V417 (*(V + 417))
{0x4B3493, 0, 0, 0, 0},
-#undef V418
-#define V418 (*(V + 418))
+#undef V418
+#define V418 (*(V + 418))
{0x8B3493, 0, 0, 0, 0},
-#undef V419
-#define V419 (*(V + 419))
+#undef V419
+#define V419 (*(V + 419))
{0xCB3493, 0, 0, 0, 0},
-#undef V420
-#define V420 (*(V + 420))
+#undef V420
+#define V420 (*(V + 420))
{0x10B3493, 0, 0, 0, 0},
-#undef V421
-#define V421 (*(V + 421))
+#undef V421
+#define V421 (*(V + 421))
{0x14B3493, 0, 0, 0, 0},
-#undef V422
-#define V422 (*(V + 422))
+#undef V422
+#define V422 (*(V + 422))
{0x18B3493, 0, 0, 0, 0},
-#undef V423
-#define V423 (*(V + 423))
+#undef V423
+#define V423 (*(V + 423))
{0x1CB3493, 0, 0, 0, 0},
-#undef V424
-#define V424 (*(V + 424))
+#undef V424
+#define V424 (*(V + 424))
{0x20B3493, 0, 0, 0, 0},
-#undef V425
-#define V425 (*(V + 425))
+#undef V425
+#define V425 (*(V + 425))
{0x24B3493, 0, 0, 0, 0},
-#undef V426
-#define V426 (*(V + 426))
+#undef V426
+#define V426 (*(V + 426))
{0x33413, 0, 0, 0, 0},
-#undef V427
-#define V427 (*(V + 427))
+#undef V427
+#define V427 (*(V + 427))
{0x13433, 0, 0, 0, 0},
-#undef V428
-#define V428 (*(V + 428))
+#undef V428
+#define V428 (*(V + 428))
{0x13433, 26, 0, 0, 0},
-#undef V429
-#define V429 (*(V + 429))
+#undef V429
+#define V429 (*(V + 429))
{0x13433, 0, -26, -26, 0},
-#undef V430
-#define V430 (*(V + 430))
+#undef V430
+#define V430 (*(V + 430))
{0xB3493, 0, 0, 0, 0},
-#undef V431
-#define V431 (*(V + 431))
+#undef V431
+#define V431 (*(V + 431))
{0x4BF093, 0, 0, 0, 0},
-#undef V432
-#define V432 (*(V + 432))
+#undef V432
+#define V432 (*(V + 432))
{0x8BF093, 0, 0, 0, 0},
-#undef V433
-#define V433 (*(V + 433))
+#undef V433
+#define V433 (*(V + 433))
{0xCBF093, 0, 0, 0, 0},
-#undef V434
-#define V434 (*(V + 434))
+#undef V434
+#define V434 (*(V + 434))
{0x10BF093, 0, 0, 0, 0},
-#undef V435
-#define V435 (*(V + 435))
+#undef V435
+#define V435 (*(V + 435))
{0x14BF093, 0, 0, 0, 0},
-#undef V436
-#define V436 (*(V + 436))
+#undef V436
+#define V436 (*(V + 436))
{0x18BF093, 0, 0, 0, 0},
-#undef V437
-#define V437 (*(V + 437))
+#undef V437
+#define V437 (*(V + 437))
{0x1CBF093, 0, 0, 0, 0},
-#undef V438
-#define V438 (*(V + 438))
+#undef V438
+#define V438 (*(V + 438))
{0x20BF093, 0, 0, 0, 0},
-#undef V439
-#define V439 (*(V + 439))
+#undef V439
+#define V439 (*(V + 439))
{0x24BF093, 0, 0, 0, 0},
-#undef V440
-#define V440 (*(V + 440))
+#undef V440
+#define V440 (*(V + 440))
{0xBF093, 0, 0, 0, 0},
-#undef V441
-#define V441 (*(V + 441))
+#undef V441
+#define V441 (*(V + 441))
{0xBF026, 0, 0, 0, 0},
-#undef V442
-#define V442 (*(V + 442))
+#undef V442
+#define V442 (*(V + 442))
{0xB082F, 0, 0, 0, 0},
-#undef V443
-#define V443 (*(V + 443))
+#undef V443
+#define V443 (*(V + 443))
{0x1F001, -10743, 0, 0, 0},
-#undef V444
-#define V444 (*(V + 444))
+#undef V444
+#define V444 (*(V + 444))
{0x1F001, -3814, 0, 0, 0},
-#undef V445
-#define V445 (*(V + 445))
+#undef V445
+#define V445 (*(V + 445))
{0x1F001, -10727, 0, 0, 0},
-#undef V446
-#define V446 (*(V + 446))
+#undef V446
+#define V446 (*(V + 446))
{0x1F002, 0, -10795, -10795, 0},
-#undef V447
-#define V447 (*(V + 447))
+#undef V447
+#define V447 (*(V + 447))
{0x1F002, 0, -10792, -10792, 0},
-#undef V448
-#define V448 (*(V + 448))
+#undef V448
+#define V448 (*(V + 448))
{0x1F001, -10780, 0, 0, 0},
-#undef V449
-#define V449 (*(V + 449))
+#undef V449
+#define V449 (*(V + 449))
{0x1F001, -10749, 0, 0, 0},
-#undef V450
-#define V450 (*(V + 450))
+#undef V450
+#define V450 (*(V + 450))
{0x1F001, -10783, 0, 0, 0},
-#undef V451
-#define V451 (*(V + 451))
+#undef V451
+#define V451 (*(V + 451))
{0x1F001, -10782, 0, 0, 0},
-#undef V452
-#define V452 (*(V + 452))
+#undef V452
+#define V452 (*(V + 452))
{0x1F001, -10815, 0, 0, 0},
-#undef V453
-#define V453 (*(V + 453))
+#undef V453
+#define V453 (*(V + 453))
{0x1F002, 0, -7264, -7264, 0},
-#undef V454
-#define V454 (*(V + 454))
+#undef V454
+#define V454 (*(V + 454))
{0x1F007, 0, 0, 0, 0},
-#undef V455
-#define V455 (*(V + 455))
+#undef V455
+#define V455 (*(V + 455))
{0x1F012, 0, 0, 0, 0},
-#undef V456
-#define V456 (*(V + 456))
+#undef V456
+#define V456 (*(V + 456))
{0xF00D, 0, 0, 0, 218},
-#undef V457
-#define V457 (*(V + 457))
+#undef V457
+#define V457 (*(V + 457))
{0x1F00F, 0, 0, 0, 224},
-#undef V458
-#define V458 (*(V + 458))
+#undef V458
+#define V458 (*(V + 458))
{0x13412, 0, 0, 0, 0},
-#undef V459
-#define V459 (*(V + 459))
+#undef V459
+#define V459 (*(V + 459))
{0x1F009, 0, 0, 0, 0},
-#undef V460
-#define V460 (*(V + 460))
+#undef V460
+#define V460 (*(V + 460))
{0x1A809, 0, 0, 0, 0},
-#undef V461
-#define V461 (*(V + 461))
+#undef V461
+#define V461 (*(V + 461))
{0x500D, 0, 0, 0, 8},
-#undef V462
-#define V462 (*(V + 462))
+#undef V462
+#define V462 (*(V + 462))
{0x1A804, 0, 0, 0, 0},
-#undef V463
-#define V463 (*(V + 463))
+#undef V463
+#define V463 (*(V + 463))
{0x13409, 0, 0, 0, 0},
-#undef V464
-#define V464 (*(V + 464))
+#undef V464
+#define V464 (*(V + 464))
{0x1F008, 0, 0, 0, 0},
-#undef V465
-#define V465 (*(V + 465))
+#undef V465
+#define V465 (*(V + 465))
{0x1A808, 0, 0, 0, 0},
-#undef V466
-#define V466 (*(V + 466))
+#undef V466
+#define V466 (*(V + 466))
{0xBF02E, 0, 0, 0, 0},
-#undef V467
-#define V467 (*(V + 467))
+#undef V467
+#define V467 (*(V + 467))
{0x13408, 0, 0, 0, 0},
-#undef V468
-#define V468 (*(V + 468))
+#undef V468
+#define V468 (*(V + 468))
{0x13413, 0, 0, 0, 0},
-#undef V469
-#define V469 (*(V + 469))
+#undef V469
+#define V469 (*(V + 469))
{0x1F001, -35332, 0, 0, 0},
-#undef V470
-#define V470 (*(V + 470))
+#undef V470
+#define V470 (*(V + 470))
{0x1F032, 0, 0, 0, 0},
-#undef V471
-#define V471 (*(V + 471))
+#undef V471
+#define V471 (*(V + 471))
{0x1F001, -42280, 0, 0, 0},
-#undef V472
-#define V472 (*(V + 472))
+#undef V472
+#define V472 (*(V + 472))
{0x1F001, -42308, 0, 0, 0},
-#undef V473
-#define V473 (*(V + 473))
+#undef V473
+#define V473 (*(V + 473))
{0x1F001, -42319, 0, 0, 0},
-#undef V474
-#define V474 (*(V + 474))
+#undef V474
+#define V474 (*(V + 474))
{0x1F001, -42315, 0, 0, 0},
-#undef V475
-#define V475 (*(V + 475))
+#undef V475
+#define V475 (*(V + 475))
{0x1F001, -42305, 0, 0, 0},
-#undef V476
-#define V476 (*(V + 476))
+#undef V476
+#define V476 (*(V + 476))
{0x1F001, -42258, 0, 0, 0},
-#undef V477
-#define V477 (*(V + 477))
+#undef V477
+#define V477 (*(V + 477))
{0x1F001, -42282, 0, 0, 0},
-#undef V478
-#define V478 (*(V + 478))
+#undef V478
+#define V478 (*(V + 478))
{0x1F001, -42261, 0, 0, 0},
-#undef V479
-#define V479 (*(V + 479))
+#undef V479
+#define V479 (*(V + 479))
{0x1F001, 928, 0, 0, 0},
-#undef V480
-#define V480 (*(V + 480))
+#undef V480
+#define V480 (*(V + 480))
{0x1F002, 0, -928, -928, 0},
-#undef V481
-#define V481 (*(V + 481))
+#undef V481
+#define V481 (*(V + 481))
{0x1F002, 0, -38864, -38864, 0},
-#undef V482
-#define V482 (*(V + 482))
+#undef V482
+#define V482 (*(V + 482))
{0x1F020, 0, 0, 0, 0},
-#undef V483
-#define V483 (*(V + 483))
+#undef V483
+#define V483 (*(V + 483))
{0x1F220, 0, 0, 0, 0},
-#undef V484
-#define V484 (*(V + 484))
+#undef V484
+#define V484 (*(V + 484))
{0x1F01F, 0, 0, 0, 0},
-#undef V485
-#define V485 (*(V + 485))
+#undef V485
+#define V485 (*(V + 485))
{0x1F200, 0, 0, 0, 0},
-#undef V486
-#define V486 (*(V + 486))
+#undef V486
+#define V486 (*(V + 486))
{0x10807, 0, 0, 0, 0},
-#undef V487
-#define V487 (*(V + 487))
+#undef V487
+#define V487 (*(V + 487))
{0x20806, 0, 0, 0, 0},
-#undef V488
-#define V488 (*(V + 488))
+#undef V488
+#define V488 (*(V + 488))
{0xF00D, 0, 0, 0, 26},
-#undef V489
-#define V489 (*(V + 489))
+#undef V489
+#define V489 (*(V + 489))
{0x23406, 0, 0, 0, 0},
-#undef V490
-#define V490 (*(V + 490))
+#undef V490
+#define V490 (*(V + 490))
{0xF032, 0, 0, 0, 0},
-#undef V491
-#define V491 (*(V + 491))
+#undef V491
+#define V491 (*(V + 491))
{0x3431, 0, 0, 0, 0},
-#undef V492
-#define V492 (*(V + 492))
+#undef V492
+#define V492 (*(V + 492))
{0xB3421, 0, 0, 0, 0},
-#undef V493
-#define V493 (*(V + 493))
+#undef V493
+#define V493 (*(V + 493))
{0xB3429, 0, 0, 0, 0},
-#undef V494
-#define V494 (*(V + 494))
+#undef V494
+#define V494 (*(V + 494))
{0xB3424, 0, 0, 0, 0},
-#undef V495
-#define V495 (*(V + 495))
+#undef V495
+#define V495 (*(V + 495))
{0xB3426, 0, 0, 0, 0},
-#undef V496
-#define V496 (*(V + 496))
+#undef V496
+#define V496 (*(V + 496))
{0x7342C, 0, 0, 0, 0},
-#undef V497
-#define V497 (*(V + 497))
+#undef V497
+#define V497 (*(V + 497))
{0x5342A, 0, 0, 0, 0},
-#undef V498
-#define V498 (*(V + 498))
+#undef V498
+#define V498 (*(V + 498))
{0x43422, 0, 0, 0, 0},
-#undef V499
-#define V499 (*(V + 499))
+#undef V499
+#define V499 (*(V + 499))
{0xF11E, 0, 0, 0, 0},
-#undef V500
-#define V500 (*(V + 500))
+#undef V500
+#define V500 (*(V + 500))
{0xB3438, 0, 0, 0, 0},
-#undef V501
-#define V501 (*(V + 501))
+#undef V501
+#define V501 (*(V + 501))
{0x7342A, 0, 0, 0, 0},
-#undef V502
-#define V502 (*(V + 502))
+#undef V502
+#define V502 (*(V + 502))
{0x33490, 0, 0, 0, 0},
-#undef V503
-#define V503 (*(V + 503))
+#undef V503
+#define V503 (*(V + 503))
{0x433490, 0, 0, 0, 0},
-#undef V504
-#define V504 (*(V + 504))
+#undef V504
+#define V504 (*(V + 504))
{0x833490, 0, 0, 0, 0},
-#undef V505
-#define V505 (*(V + 505))
+#undef V505
+#define V505 (*(V + 505))
{0xC33490, 0, 0, 0, 0},
-#undef V506
-#define V506 (*(V + 506))
+#undef V506
+#define V506 (*(V + 506))
{0x1033490, 0, 0, 0, 0},
-#undef V507
-#define V507 (*(V + 507))
+#undef V507
+#define V507 (*(V + 507))
{0x1433490, 0, 0, 0, 0},
-#undef V508
-#define V508 (*(V + 508))
+#undef V508
+#define V508 (*(V + 508))
{0x1833490, 0, 0, 0, 0},
-#undef V509
-#define V509 (*(V + 509))
+#undef V509
+#define V509 (*(V + 509))
{0x1C33490, 0, 0, 0, 0},
-#undef V510
-#define V510 (*(V + 510))
+#undef V510
+#define V510 (*(V + 510))
{0x2033490, 0, 0, 0, 0},
-#undef V511
-#define V511 (*(V + 511))
+#undef V511
+#define V511 (*(V + 511))
{0x2433490, 0, 0, 0, 0},
-#undef V512
-#define V512 (*(V + 512))
+#undef V512
+#define V512 (*(V + 512))
{0x13401, 32, 0, 0, 0},
-#undef V513
-#define V513 (*(V + 513))
+#undef V513
+#define V513 (*(V + 513))
{0x13402, 0, -32, -32, 0},
-#undef V514
-#define V514 (*(V + 514))
+#undef V514
+#define V514 (*(V + 514))
{0xB342E, 0, 0, 0, 0},
-#undef V515
-#define V515 (*(V + 515))
+#undef V515
+#define V515 (*(V + 515))
{0xBF01B, 0, 0, 0, 0},
-#undef V516
-#define V516 (*(V + 516))
+#undef V516
+#define V516 (*(V + 516))
{0xBF011, 0, 0, 0, 0},
-#undef V517
-#define V517 (*(V + 517))
+#undef V517
+#define V517 (*(V + 517))
{0x3F013, 0, 0, 0, 0},
-#undef V518
-#define V518 (*(V + 518))
+#undef V518
+#define V518 (*(V + 518))
{0x1F001, 40, 0, 0, 0},
-#undef V519
-#define V519 (*(V + 519))
+#undef V519
+#define V519 (*(V + 519))
{0x1F002, 0, -40, -40, 0},
-#undef V520
-#define V520 (*(V + 520))
+#undef V520
+#define V520 (*(V + 520))
{0x2F013, 0, 0, 0, 0},
-#undef V521
-#define V521 (*(V + 521))
+#undef V521
+#define V521 (*(V + 521))
{0x2F033, 0, 0, 0, 0},
-#undef V522
-#define V522 (*(V + 522))
+#undef V522
+#define V522 (*(V + 522))
{0x42F093, 0, 0, 0, 0},
-#undef V523
-#define V523 (*(V + 523))
+#undef V523
+#define V523 (*(V + 523))
{0x82F093, 0, 0, 0, 0},
-#undef V524
-#define V524 (*(V + 524))
+#undef V524
+#define V524 (*(V + 524))
{0xC2F093, 0, 0, 0, 0},
-#undef V525
-#define V525 (*(V + 525))
+#undef V525
+#define V525 (*(V + 525))
{0x102F093, 0, 0, 0, 0},
-#undef V526
-#define V526 (*(V + 526))
+#undef V526
+#define V526 (*(V + 526))
{0x2F02C, 0, 0, 0, 0},
#undef V527
#define V527 (*(V + 527))
@@ -1645,7 +1645,7 @@ namespace { namespace NUnidataTableGenerated {
#undef V546
#define V546 (*(V + 546))
{0x2F002, 0, -34, -34, 0},
- };
+ };
static const NUnicode::NPrivate::TUnidataTable::TValuePtr P[][32] = {
{
@@ -7520,7 +7520,7 @@ namespace { namespace NUnidataTableGenerated {
}; // static const NUnicode::NPrivate::TUnidataTable::TValuePtr* const Indexes[]
static const size_t Size = 1114110;
-}} // namespace NUnidataTableGenerated
+}} // namespace NUnidataTableGenerated
namespace NUnicode {
namespace NPrivate {
@@ -7528,8 +7528,8 @@ namespace NUnicode {
static const NUnicode::NPrivate::TUnidataTable data(NUnidataTableGenerated::Indexes, NUnidataTableGenerated::Size);
return data;
}
- } // namespace NPrivate
-} // namespace NUnicode
+ } // namespace NPrivate
+} // namespace NUnicode
namespace NUnicode {
namespace NPrivate {
const size_t DEFAULT_KEY = 0xE001;
diff --git a/util/charset/recode_result.cpp b/util/charset/recode_result.cpp
index 23638027bb..1e1bbdc8f7 100644
--- a/util/charset/recode_result.cpp
+++ b/util/charset/recode_result.cpp
@@ -1 +1 @@
-#include "recode_result.h"
+#include "recode_result.h"
diff --git a/util/charset/recode_result.h b/util/charset/recode_result.h
index 2c7366e7b2..ad6b901220 100644
--- a/util/charset/recode_result.h
+++ b/util/charset/recode_result.h
@@ -1,6 +1,6 @@
#pragma once
-enum RECODE_RESULT {
+enum RECODE_RESULT {
RECODE_OK,
RECODE_EOINPUT,
RECODE_EOOUTPUT,
diff --git a/util/charset/unicode_table.cpp b/util/charset/unicode_table.cpp
index 574c50d9ec..e5568edcba 100644
--- a/util/charset/unicode_table.cpp
+++ b/util/charset/unicode_table.cpp
@@ -1 +1 @@
-#include "unicode_table.h"
+#include "unicode_table.h"
diff --git a/util/charset/unicode_table.h b/util/charset/unicode_table.h
index 9e171b2583..3ded71933d 100644
--- a/util/charset/unicode_table.h
+++ b/util/charset/unicode_table.h
@@ -1,7 +1,7 @@
#pragma once
-#include <util/system/yassert.h>
-#include <util/system/defaults.h>
+#include <util/system/yassert.h>
+#include <util/system/defaults.h>
#include <util/generic/typetraits.h>
namespace NUnicodeTable {
@@ -120,4 +120,4 @@ namespace NUnicodeTable {
};
const size_t UNICODE_TABLE_SHIFT = 5;
-}
+}
diff --git a/util/charset/unidata.cpp b/util/charset/unidata.cpp
index db4dc126ab..4e0709c9fe 100644
--- a/util/charset/unidata.cpp
+++ b/util/charset/unidata.cpp
@@ -1 +1 @@
-#include "unidata.h"
+#include "unidata.h"
diff --git a/util/charset/unidata.h b/util/charset/unidata.h
index 400d314186..422c83d8ce 100644
--- a/util/charset/unidata.h
+++ b/util/charset/unidata.h
@@ -1,71 +1,71 @@
#pragma once
-#include "unicode_table.h"
-
-#include <util/system/defaults.h> // wchar32, ui64, ULL()
-
-enum WC_TYPE { // TODO move no NUnicode
- Lu_UPPER = 1, // 'Ъ'
- Ll_LOWER = 2, // 'ъ'
- Lt_TITLE = 3, // 'Ъ'
- Lm_EXTENDER = 4, // '-'
- Lm_LETTER = 5, // 'ъ'
- Lo_OTHER = 6, // '?'
- Lo_IDEOGRAPH = 7, // '?'
- Lo_KATAKANA = 8, // '?'
- Lo_HIRAGANA = 9, // '?'
- Lo_LEADING = 10, // '?'
- Lo_VOWEL = 11, // '?'
- Lo_TRAILING = 12, // '?'
-
- Mn_NONSPACING = 13, // '`'
- Me_ENCLOSING = 14, // '`'
- Mc_SPACING = 15, // '`'
-
- Nd_DIGIT = 16, // '9' // convert to digit
- Nl_LETTER = 17, // 'X' // X,V,C,L,I ...
+#include "unicode_table.h"
+
+#include <util/system/defaults.h> // wchar32, ui64, ULL()
+
+enum WC_TYPE { // TODO move no NUnicode
+ Lu_UPPER = 1, // 'Ъ'
+ Ll_LOWER = 2, // 'ъ'
+ Lt_TITLE = 3, // 'Ъ'
+ Lm_EXTENDER = 4, // '-'
+ Lm_LETTER = 5, // 'ъ'
+ Lo_OTHER = 6, // '?'
+ Lo_IDEOGRAPH = 7, // '?'
+ Lo_KATAKANA = 8, // '?'
+ Lo_HIRAGANA = 9, // '?'
+ Lo_LEADING = 10, // '?'
+ Lo_VOWEL = 11, // '?'
+ Lo_TRAILING = 12, // '?'
+
+ Mn_NONSPACING = 13, // '`'
+ Me_ENCLOSING = 14, // '`'
+ Mc_SPACING = 15, // '`'
+
+ Nd_DIGIT = 16, // '9' // convert to digit
+ Nl_LETTER = 17, // 'X' // X,V,C,L,I ...
Nl_IDEOGRAPH = 18, // '?'
- No_OTHER = 19, // '9'
+ No_OTHER = 19, // '9'
- Zs_SPACE = 20, // ' ' [\40\240] SPACE ... NO-BREAK SPACE (00A0)
- Zs_ZWSPACE = 21, // ' ' // nothing ?
- Zl_LINE = 22, // '\n'
+ Zs_SPACE = 20, // ' ' [\40\240] SPACE ... NO-BREAK SPACE (00A0)
+ Zs_ZWSPACE = 21, // ' ' // nothing ?
+ Zl_LINE = 22, // '\n'
Zp_PARAGRAPH = 23, // '\n'
- Cc_ASCII = 24, // '\x1A' // can not happen
- Cc_SPACE = 25, // '\x1A' // can not happen
+ Cc_ASCII = 24, // '\x1A' // can not happen
+ Cc_SPACE = 25, // '\x1A' // can not happen
Cc_SEPARATOR = 26, // '\x1A' // can not happen
- Cf_FORMAT = 27, // '\x1A' // nothing ?
- Cf_JOIN = 28, // '\x1A' // nothing ?
- Cf_BIDI = 29, // '\x1A' // nothing ?
- Cf_ZWNBSP = 30, // '\x1A' // nothing ?
-
- Cn_UNASSIGNED = 0, // '?'
- Co_PRIVATE = 0, // '?'
- Cs_LOW = 31, // '?'
- Cs_HIGH = 32, // '?'
-
- Pd_DASH = 33, // '-'
- Pd_HYPHEN = 34, // '-' [-] HYPHEN-MINUS
- Ps_START = 35, // '(' [([{] LEFT PARENTHESIS ... LEFT CURLY BRACKET
- Ps_QUOTE = 36, // '"'
- Pe_END = 37, // ')' [)]}] RIGHT PARENTHESIS ... RIGHT CURLY BRACKET
- Pe_QUOTE = 38, // '"'
- Pi_QUOTE = 39, // '"'
- Pf_QUOTE = 40, // '"'
+ Cf_FORMAT = 27, // '\x1A' // nothing ?
+ Cf_JOIN = 28, // '\x1A' // nothing ?
+ Cf_BIDI = 29, // '\x1A' // nothing ?
+ Cf_ZWNBSP = 30, // '\x1A' // nothing ?
+
+ Cn_UNASSIGNED = 0, // '?'
+ Co_PRIVATE = 0, // '?'
+ Cs_LOW = 31, // '?'
+ Cs_HIGH = 32, // '?'
+
+ Pd_DASH = 33, // '-'
+ Pd_HYPHEN = 34, // '-' [-] HYPHEN-MINUS
+ Ps_START = 35, // '(' [([{] LEFT PARENTHESIS ... LEFT CURLY BRACKET
+ Ps_QUOTE = 36, // '"'
+ Pe_END = 37, // ')' [)]}] RIGHT PARENTHESIS ... RIGHT CURLY BRACKET
+ Pe_QUOTE = 38, // '"'
+ Pi_QUOTE = 39, // '"'
+ Pf_QUOTE = 40, // '"'
Pc_CONNECTOR = 41, // '_' [_] LOW LINE
- Po_OTHER = 42, // '*' [#%&*/@\] NUMBER SIGN ... REVERSE SOLIDUS
- Po_QUOTE = 43, // '"' ["] QUOTATION MARK
- Po_TERMINAL = 44, // '.' [!,.:;?] EXCLAMATION MARK ... QUESTION MARK
- Po_EXTENDER = 45, // '-' [№] MIDDLE DOT (00B7)
- Po_HYPHEN = 46, // '-'
-
- Sm_MATH = 47, // '=' [+<=>|~] PLUS SIGN ... TILDE
- Sm_MINUS = 48, // '-'
- Sc_CURRENCY = 49, // '$' [$] DOLLAR SIGN
- Sk_MODIFIER = 50, // '`' [^`] CIRCUMFLEX ACCENT ... GRAVE ACCENT
- So_OTHER = 51, // '°' [°] DEGREE SIGN (00B0)
+ Po_OTHER = 42, // '*' [#%&*/@\] NUMBER SIGN ... REVERSE SOLIDUS
+ Po_QUOTE = 43, // '"' ["] QUOTATION MARK
+ Po_TERMINAL = 44, // '.' [!,.:;?] EXCLAMATION MARK ... QUESTION MARK
+ Po_EXTENDER = 45, // '-' [№] MIDDLE DOT (00B7)
+ Po_HYPHEN = 46, // '-'
+
+ Sm_MATH = 47, // '=' [+<=>|~] PLUS SIGN ... TILDE
+ Sm_MINUS = 48, // '-'
+ Sc_CURRENCY = 49, // '$' [$] DOLLAR SIGN
+ Sk_MODIFIER = 50, // '`' [^`] CIRCUMFLEX ACCENT ... GRAVE ACCENT
+ So_OTHER = 51, // '°' [°] DEGREE SIGN (00B0)
Ps_SINGLE_QUOTE = 52, // '\'' ['] OPENING SINGLE QUOTE
Pe_SINGLE_QUOTE = 53, // '\'' ['] CLOSING SINGLE QUOTE
@@ -73,8 +73,8 @@ enum WC_TYPE { // TODO move no NUnicode
Pf_SINGLE_QUOTE = 55, // '\'' ['] FINAL SINGLE QUOTE
Po_SINGLE_QUOTE = 56, // '\'' ['] APOSTROPHE and PRIME
- CCL_NUM = 57,
- CCL_MASK = 0x3F,
+ CCL_NUM = 57,
+ CCL_MASK = 0x3F,
IS_ASCII_XDIGIT = 1 << 6,
IS_DIGIT = 1 << 7,
@@ -90,13 +90,13 @@ enum WC_TYPE { // TODO move no NUnicode
NFKD_QC = 1 << 14,
NFKC_QC = 1 << 15,
- BIDI_OFFSET = 16,
- SVAL_OFFSET = 22,
+ BIDI_OFFSET = 16,
+ SVAL_OFFSET = 22,
};
const size_t DEFCHAR_BUF = 58; // CCL_NUM + 1
-#define SHIFT(i) (ULL(1) << (i))
+#define SHIFT(i) (ULL(1) << (i))
namespace NUnicode {
using TCombining = ui8;
@@ -114,7 +114,7 @@ namespace NUnicode {
using TUnidataTable = NUnicodeTable::TTable<NUnicodeTable::TSubtable<NUnicodeTable::UNICODE_TABLE_SHIFT, NUnicodeTable::TValues<TProperty>>>;
const TUnidataTable& UnidataTable();
-
+
inline const TProperty& CharProperty(wchar32 ch) {
return UnidataTable().Get(ch, DEFAULT_KEY);
}
@@ -126,7 +126,7 @@ namespace NUnicode {
inline bool IsBidi(wchar32 ch, ui32 type) {
return ((NUnicode::NPrivate::CharInfo(ch) >> BIDI_OFFSET) & 15) == type;
}
- }
+ }
inline size_t UnicodeInstancesLimit() {
return NPrivate::UnidataTable().Size();
@@ -142,10 +142,10 @@ namespace NUnicode {
inline bool CharHasType(wchar32 ch, ui64 type_bits) {
return (SHIFT(NUnicode::CharType(ch)) & type_bits) != 0;
}
-}
+}
// all usefull properties
-
+
inline bool IsComposed(wchar32 ch) {
return NUnicode::NPrivate::CharInfo(ch) & (IS_COMPAT | IS_CANON);
}
@@ -176,8 +176,8 @@ inline bool IsIgnorableCntrl(wchar32 ch) {
}
inline bool IsCntrl(wchar32 ch) {
return NUnicode::CharHasType(ch,
- SHIFT(Cf_FORMAT) | SHIFT(Cf_JOIN) | SHIFT(Cf_BIDI) | SHIFT(Cf_ZWNBSP) |
- SHIFT(Cc_ASCII) | SHIFT(Cc_SPACE) | SHIFT(Cc_SEPARATOR));
+ SHIFT(Cf_FORMAT) | SHIFT(Cf_JOIN) | SHIFT(Cf_BIDI) | SHIFT(Cf_ZWNBSP) |
+ SHIFT(Cc_ASCII) | SHIFT(Cc_SPACE) | SHIFT(Cc_SEPARATOR));
}
inline bool IsZerowidth(wchar32 ch) {
return NUnicode::CharHasType(ch, SHIFT(Cf_FORMAT) | SHIFT(Cf_JOIN) | SHIFT(Cf_BIDI) | SHIFT(Cf_ZWNBSP) | SHIFT(Zs_ZWSPACE));
@@ -196,15 +196,15 @@ inline bool IsHyphen(wchar32 ch) {
}
inline bool IsQuotation(wchar32 ch) {
return NUnicode::CharHasType(ch,
- SHIFT(Po_QUOTE) | SHIFT(Ps_QUOTE) | SHIFT(Pe_QUOTE) | SHIFT(Pi_QUOTE) |
- SHIFT(Pf_QUOTE) | SHIFT(Po_SINGLE_QUOTE) | SHIFT(Ps_SINGLE_QUOTE) |
- SHIFT(Pe_SINGLE_QUOTE) | SHIFT(Pi_SINGLE_QUOTE) | SHIFT(Pf_SINGLE_QUOTE));
+ SHIFT(Po_QUOTE) | SHIFT(Ps_QUOTE) | SHIFT(Pe_QUOTE) | SHIFT(Pi_QUOTE) |
+ SHIFT(Pf_QUOTE) | SHIFT(Po_SINGLE_QUOTE) | SHIFT(Ps_SINGLE_QUOTE) |
+ SHIFT(Pe_SINGLE_QUOTE) | SHIFT(Pi_SINGLE_QUOTE) | SHIFT(Pf_SINGLE_QUOTE));
}
inline bool IsSingleQuotation(wchar32 ch) {
return NUnicode::CharHasType(ch,
- SHIFT(Po_SINGLE_QUOTE) | SHIFT(Ps_SINGLE_QUOTE) | SHIFT(Pe_SINGLE_QUOTE) |
- SHIFT(Pi_SINGLE_QUOTE) | SHIFT(Pf_SINGLE_QUOTE));
+ SHIFT(Po_SINGLE_QUOTE) | SHIFT(Ps_SINGLE_QUOTE) | SHIFT(Pe_SINGLE_QUOTE) |
+ SHIFT(Pi_SINGLE_QUOTE) | SHIFT(Pf_SINGLE_QUOTE));
}
inline bool IsTerminal(wchar32 ch) {
@@ -212,9 +212,9 @@ inline bool IsTerminal(wchar32 ch) {
}
inline bool IsPairedPunct(wchar32 ch) {
return NUnicode::CharHasType(ch,
- SHIFT(Ps_START) | SHIFT(Pe_END) | SHIFT(Ps_QUOTE) | SHIFT(Pe_QUOTE) |
- SHIFT(Pi_QUOTE) | SHIFT(Pf_QUOTE) | SHIFT(Ps_SINGLE_QUOTE) |
- SHIFT(Pe_SINGLE_QUOTE) | SHIFT(Pi_SINGLE_QUOTE) | SHIFT(Pf_SINGLE_QUOTE));
+ SHIFT(Ps_START) | SHIFT(Pe_END) | SHIFT(Ps_QUOTE) | SHIFT(Pe_QUOTE) |
+ SHIFT(Pi_QUOTE) | SHIFT(Pf_QUOTE) | SHIFT(Ps_SINGLE_QUOTE) |
+ SHIFT(Pe_SINGLE_QUOTE) | SHIFT(Pi_SINGLE_QUOTE) | SHIFT(Pf_SINGLE_QUOTE));
}
inline bool IsLeftPunct(wchar32 ch) {
return NUnicode::CharHasType(ch, SHIFT(Ps_START) | SHIFT(Ps_QUOTE) | SHIFT(Ps_SINGLE_QUOTE));
@@ -230,7 +230,7 @@ inline bool IsNonspacing(wchar32 ch) {
}
inline bool IsAlphabetic(wchar32 ch) {
return NUnicode::CharHasType(ch,
- SHIFT(Lu_UPPER) | SHIFT(Ll_LOWER) | SHIFT(Lt_TITLE) | SHIFT(Lm_EXTENDER) | SHIFT(Lm_LETTER) | SHIFT(Lo_OTHER) | SHIFT(Nl_LETTER));
+ SHIFT(Lu_UPPER) | SHIFT(Ll_LOWER) | SHIFT(Lt_TITLE) | SHIFT(Lm_EXTENDER) | SHIFT(Lm_LETTER) | SHIFT(Lo_OTHER) | SHIFT(Nl_LETTER));
}
inline bool IsIdeographic(wchar32 ch) {
return NUnicode::CharHasType(ch, SHIFT(Lo_IDEOGRAPH) | SHIFT(Nl_IDEOGRAPH));
@@ -286,9 +286,9 @@ inline bool IsUnassigned(wchar32 ch) {
inline bool IsPrivateHighSurrogate(wchar32 ch) {
return NUnicode::CharHasType(ch, SHIFT(Cs_HIGH)) && (NUnicode::NPrivate::CharInfo(ch) & IS_PRIVATE);
}
-
+
// transformations
-
+
inline wchar32 ToLower(wchar32 ch) {
return static_cast<wchar32>(ch + NUnicode::NPrivate::CharProperty(ch).Lower);
}
@@ -303,9 +303,9 @@ inline int ToDigit(wchar32 ch) {
ui32 i = NUnicode::NPrivate::CharInfo(ch);
return (i & IS_DIGIT) ? static_cast<int>(i >> SVAL_OFFSET) : -1;
}
-
+
// BIDI properties
-
+
inline bool IsBidiLeft(wchar32 ch) {
return NUnicode::NPrivate::IsBidi(ch, 1);
}
@@ -342,7 +342,7 @@ inline bool IsBidiNeutral(wchar32 ch) {
inline bool IsBidiNotappl(wchar32 ch) {
return NUnicode::NPrivate::IsBidi(ch, 0);
}
-
+
inline bool IsSpace(wchar32 ch) {
return IsWhitespace(ch);
}
@@ -357,23 +357,23 @@ inline bool IsTitle(wchar32 ch) {
}
inline bool IsAlpha(wchar32 ch) {
return NUnicode::CharHasType(ch,
- SHIFT(Lu_UPPER) | SHIFT(Ll_LOWER) | SHIFT(Lt_TITLE) | SHIFT(Lm_LETTER) | SHIFT(Lm_EXTENDER) |
- SHIFT(Lo_OTHER) | SHIFT(Lo_IDEOGRAPH) | SHIFT(Lo_KATAKANA) | SHIFT(Lo_HIRAGANA) |
- SHIFT(Lo_LEADING) | SHIFT(Lo_VOWEL) | SHIFT(Lo_TRAILING));
+ SHIFT(Lu_UPPER) | SHIFT(Ll_LOWER) | SHIFT(Lt_TITLE) | SHIFT(Lm_LETTER) | SHIFT(Lm_EXTENDER) |
+ SHIFT(Lo_OTHER) | SHIFT(Lo_IDEOGRAPH) | SHIFT(Lo_KATAKANA) | SHIFT(Lo_HIRAGANA) |
+ SHIFT(Lo_LEADING) | SHIFT(Lo_VOWEL) | SHIFT(Lo_TRAILING));
}
inline bool IsAlnum(wchar32 ch) {
return NUnicode::CharHasType(ch,
- SHIFT(Lu_UPPER) | SHIFT(Ll_LOWER) | SHIFT(Lt_TITLE) | SHIFT(Lm_LETTER) | SHIFT(Lm_EXTENDER) |
- SHIFT(Lo_OTHER) | SHIFT(Lo_IDEOGRAPH) | SHIFT(Lo_KATAKANA) | SHIFT(Lo_HIRAGANA) |
- SHIFT(Lo_LEADING) | SHIFT(Lo_VOWEL) | SHIFT(Lo_TRAILING) |
- SHIFT(Nd_DIGIT) | SHIFT(Nl_LETTER) | SHIFT(Nl_IDEOGRAPH) | SHIFT(No_OTHER));
+ SHIFT(Lu_UPPER) | SHIFT(Ll_LOWER) | SHIFT(Lt_TITLE) | SHIFT(Lm_LETTER) | SHIFT(Lm_EXTENDER) |
+ SHIFT(Lo_OTHER) | SHIFT(Lo_IDEOGRAPH) | SHIFT(Lo_KATAKANA) | SHIFT(Lo_HIRAGANA) |
+ SHIFT(Lo_LEADING) | SHIFT(Lo_VOWEL) | SHIFT(Lo_TRAILING) |
+ SHIFT(Nd_DIGIT) | SHIFT(Nl_LETTER) | SHIFT(Nl_IDEOGRAPH) | SHIFT(No_OTHER));
}
inline bool IsPunct(wchar32 ch) {
return NUnicode::CharHasType(ch,
- SHIFT(Pd_DASH) |
- SHIFT(Pd_HYPHEN) | SHIFT(Ps_START) | SHIFT(Ps_QUOTE) | SHIFT(Pe_END) | SHIFT(Pe_QUOTE) | SHIFT(Pc_CONNECTOR) |
- SHIFT(Po_OTHER) | SHIFT(Po_QUOTE) | SHIFT(Po_TERMINAL) | SHIFT(Po_EXTENDER) | SHIFT(Po_HYPHEN) |
- SHIFT(Pi_QUOTE) | SHIFT(Pf_QUOTE));
+ SHIFT(Pd_DASH) |
+ SHIFT(Pd_HYPHEN) | SHIFT(Ps_START) | SHIFT(Ps_QUOTE) | SHIFT(Pe_END) | SHIFT(Pe_QUOTE) | SHIFT(Pc_CONNECTOR) |
+ SHIFT(Po_OTHER) | SHIFT(Po_QUOTE) | SHIFT(Po_TERMINAL) | SHIFT(Po_EXTENDER) | SHIFT(Po_HYPHEN) |
+ SHIFT(Pi_QUOTE) | SHIFT(Pf_QUOTE));
}
inline bool IsXdigit(wchar32 ch) {
return IsHexdigit(ch);
diff --git a/util/charset/ut/ya.make b/util/charset/ut/ya.make
index 6526815e92..5df9abc927 100644
--- a/util/charset/ut/ya.make
+++ b/util/charset/ut/ya.make
@@ -1,4 +1,4 @@
-UNITTEST_FOR(util/charset)
+UNITTEST_FOR(util/charset)
OWNER(g:util)
SUBSCRIBER(g:util-subscribers)
@@ -6,7 +6,7 @@ SUBSCRIBER(g:util-subscribers)
DATA(arcadia/util/charset/ut/utf8)
SRCS(
- utf8_ut.cpp
+ utf8_ut.cpp
wide_ut.cpp
)
diff --git a/util/charset/utf8.cpp b/util/charset/utf8.cpp
index efe3a52f61..f6aebdea26 100644
--- a/util/charset/utf8.cpp
+++ b/util/charset/utf8.cpp
@@ -1,5 +1,5 @@
#include "unidata.h"
-#include "utf8.h"
+#include "utf8.h"
namespace {
enum class ECaseConversion {
diff --git a/util/charset/utf8.h b/util/charset/utf8.h
index 5039b46ae9..96f3f16400 100644
--- a/util/charset/utf8.h
+++ b/util/charset/utf8.h
@@ -91,7 +91,7 @@ inline RECODE_RESULT GetUTF8CharLen(size_t& n, const unsigned char* p, const uns
case 3:
if (p + 3 > e) {
return RECODE_EOINPUT;
- } else if (!IsUTF8ContinuationByte(p[1]) || !IsUTF8ContinuationByte(p[2])) {
+ } else if (!IsUTF8ContinuationByte(p[1]) || !IsUTF8ContinuationByte(p[2])) {
return RECODE_BROKENSYMBOL;
} else {
n = 3;
@@ -100,7 +100,7 @@ inline RECODE_RESULT GetUTF8CharLen(size_t& n, const unsigned char* p, const uns
default: // actually 4
if (p + 4 > e) {
return RECODE_EOINPUT;
- } else if (!IsUTF8ContinuationByte(p[1]) || !IsUTF8ContinuationByte(p[2]) || !IsUTF8ContinuationByte(p[3])) {
+ } else if (!IsUTF8ContinuationByte(p[1]) || !IsUTF8ContinuationByte(p[2]) || !IsUTF8ContinuationByte(p[3])) {
return RECODE_BROKENSYMBOL;
} else {
n = 4;
@@ -161,18 +161,18 @@ inline RECODE_RESULT SafeReadUTF8Char(wchar32& rune, size_t& rune_len, const uns
unsigned char ch = *s++;
if (!IsUTF8ContinuationByte(ch))
return RECODE_BROKENSYMBOL; //[BROKENSYMBOL] in second byte
- PutUTF8SixBits(_rune, ch); //[00000XXX XXYYYYYY]
+ PutUTF8SixBits(_rune, ch); //[00000XXX XXYYYYYY]
if (_len > 2) {
ch = *s++;
if (!IsUTF8ContinuationByte(ch))
return RECODE_BROKENSYMBOL; //[BROKENSYMBOL] in third byte
- PutUTF8SixBits(_rune, ch); //[XXXXYYYY YYZZZZZZ]
+ PutUTF8SixBits(_rune, ch); //[XXXXYYYY YYZZZZZZ]
if (_len > 3) {
ch = *s;
if (!IsUTF8ContinuationByte(ch))
return RECODE_BROKENSYMBOL; //[BROKENSYMBOL] in fourth byte
- PutUTF8SixBits(_rune, ch); //[XXXYY YYYYZZZZ ZZQQQQQQ]
- if (_rune > 0x10FFFF) // it is not a valid Unicode code point
+ PutUTF8SixBits(_rune, ch); //[XXXYY YYYYZZZZ ZZQQQQQQ]
+ if (_rune > 0x10FFFF) // it is not a valid Unicode code point
return RECODE_BROKENSYMBOL;
if (_rune < 0x10000) // check for overlong encoding
return RECODE_BROKENSYMBOL;
@@ -215,7 +215,7 @@ Y_FORCE_INLINE RECODE_RESULT ReadUTF8CharAndAdvance(wchar32& rune, const unsigne
} else {
PutUTF8LeadBits(rune, *p++, 2); //[00000000 000XXXXX]
PutUTF8SixBits(rune, *p++); //[00000XXX XXYYYYYY]
- if (Y_UNLIKELY(rune < 0x80)) { // overlong encoding
+ if (Y_UNLIKELY(rune < 0x80)) { // overlong encoding
p -= 2;
rune = BROKEN_RUNE;
return RECODE_BROKENSYMBOL;
@@ -225,7 +225,7 @@ Y_FORCE_INLINE RECODE_RESULT ReadUTF8CharAndAdvance(wchar32& rune, const unsigne
case 3:
if (p + 3 > e) {
return RECODE_EOINPUT;
- } else if (!IsUTF8ContinuationByte(p[1]) || !IsUTF8ContinuationByte(p[2])) {
+ } else if (!IsUTF8ContinuationByte(p[1]) || !IsUTF8ContinuationByte(p[2])) {
rune = BROKEN_RUNE;
return RECODE_BROKENSYMBOL;
} else {
@@ -242,14 +242,14 @@ Y_FORCE_INLINE RECODE_RESULT ReadUTF8CharAndAdvance(wchar32& rune, const unsigne
case 4:
if (p + 4 > e) {
return RECODE_EOINPUT;
- } else if (!IsUTF8ContinuationByte(p[1]) || !IsUTF8ContinuationByte(p[2]) || !IsUTF8ContinuationByte(p[3])) {
+ } else if (!IsUTF8ContinuationByte(p[1]) || !IsUTF8ContinuationByte(p[2]) || !IsUTF8ContinuationByte(p[3])) {
rune = BROKEN_RUNE;
return RECODE_BROKENSYMBOL;
} else {
- PutUTF8LeadBits(rune, *p++, 4); //[00000000 00000000 00000XXX]
- PutUTF8SixBits(rune, *p++); //[00000000 0000000X XXYYYYYY]
- PutUTF8SixBits(rune, *p++); //[00000000 0XXXYYYY YYZZZZZZ]
- PutUTF8SixBits(rune, *p++); //[000XXXYY YYYYZZZZ ZZQQQQQQ]
+ PutUTF8LeadBits(rune, *p++, 4); //[00000000 00000000 00000XXX]
+ PutUTF8SixBits(rune, *p++); //[00000000 0000000X XXYYYYYY]
+ PutUTF8SixBits(rune, *p++); //[00000000 0XXXYYYY YYZZZZZZ]
+ PutUTF8SixBits(rune, *p++); //[000XXXYY YYYYZZZZ ZZQQQQQQ]
if (Y_UNLIKELY(rune < 0x10000 || rune > 0x10FFFF)) { // overlong encoding or non-valid code point
p -= 4;
rune = BROKEN_RUNE;
@@ -375,10 +375,10 @@ TString ToLowerUTF8(const TString& s);
TString ToLowerUTF8(TStringBuf s);
TString ToLowerUTF8(const char* s);
-inline TString ToLowerUTF8(const std::string& s) {
- return ToLowerUTF8(TStringBuf(s));
-}
-
+inline TString ToLowerUTF8(const std::string& s) {
+ return ToLowerUTF8(TStringBuf(s));
+}
+
//! returns true, if result is not the same as input, and put it in newString
//! returns false, if result is unmodified
bool ToUpperUTF8Impl(const char* beg, size_t n, TString& newString);
diff --git a/util/charset/wide.cpp b/util/charset/wide.cpp
index a287438ddd..6f31c7b787 100644
--- a/util/charset/wide.cpp
+++ b/util/charset/wide.cpp
@@ -5,28 +5,28 @@
namespace {
//! the constants are not zero-terminated
- const wchar16 LT[] = {'&', 'l', 't', ';'};
- const wchar16 GT[] = {'&', 'g', 't', ';'};
- const wchar16 AMP[] = {'&', 'a', 'm', 'p', ';'};
- const wchar16 BR[] = {'<', 'B', 'R', '>'};
- const wchar16 QUOT[] = {'&', 'q', 'u', 'o', 't', ';'};
+ const wchar16 LT[] = {'&', 'l', 't', ';'};
+ const wchar16 GT[] = {'&', 'g', 't', ';'};
+ const wchar16 AMP[] = {'&', 'a', 'm', 'p', ';'};
+ const wchar16 BR[] = {'<', 'B', 'R', '>'};
+ const wchar16 QUOT[] = {'&', 'q', 'u', 'o', 't', ';'};
- template <bool insertBr>
+ template <bool insertBr>
inline size_t EscapedLen(wchar16 c) {
switch (c) {
- case '<':
+ case '<':
return Y_ARRAY_SIZE(LT);
- case '>':
+ case '>':
return Y_ARRAY_SIZE(GT);
- case '&':
+ case '&':
return Y_ARRAY_SIZE(AMP);
- case '\"':
+ case '\"':
return Y_ARRAY_SIZE(QUOT);
- default:
- if (insertBr && (c == '\r' || c == '\n'))
+ default:
+ if (insertBr && (c == '\r' || c == '\n'))
return Y_ARRAY_SIZE(BR);
- else
- return 1;
+ else
+ return 1;
}
}
}
@@ -156,7 +156,7 @@ static bool ModifySequence(TCharType*& p, const TCharType* const pe, F&& f) {
return true;
}
- WriteSymbol(modified, p); // also moves `p` forward
+ WriteSymbol(modified, p); // also moves `p` forward
} else {
p = SkipSymbol(p, pe);
}
@@ -185,7 +185,7 @@ static bool ModifySequence(const TCharType*& p, const TCharType* const pe, TChar
return false;
}
-template <class TStringType>
+template <class TStringType>
static void DetachAndFixPointers(TStringType& text, typename TStringType::value_type*& p, const typename TStringType::value_type*& pe) {
const auto pos = p - text.data();
const auto count = pe - p;
@@ -226,12 +226,12 @@ bool ToUpper(TUtf16String& text, size_t pos, size_t count) {
}
bool ToLower(TUtf32String& text, size_t pos, size_t count) {
- const auto f = [](const wchar32 s) { return ToLower(s); };
+ const auto f = [](const wchar32 s) { return ToLower(s); };
return ModifyStringSymbolwise(text, pos, count, f);
}
bool ToUpper(TUtf32String& text, size_t pos, size_t count) {
- const auto f = [](const wchar32 s) { return ToUpper(s); };
+ const auto f = [](const wchar32 s) { return ToUpper(s); };
return ModifyStringSymbolwise(text, pos, count, f);
}
@@ -258,7 +258,7 @@ bool ToTitle(TUtf16String& text, size_t pos, size_t count) {
}
} else {
DetachAndFixPointers(text, p, pe);
- WriteSymbol(ToTitle(ReadSymbol(p, pe)), p); // also moves `p` forward
+ WriteSymbol(ToTitle(ReadSymbol(p, pe)), p); // also moves `p` forward
ModifySequence<false>(p, pe, toLower);
return true;
}
@@ -274,7 +274,7 @@ bool ToTitle(TUtf32String& text, size_t pos, size_t count) {
pos = pos < text.size() ? pos : text.size();
count = count < text.size() - pos ? count : text.size() - pos;
- const auto toLower = [](const wchar32 s) { return ToLower(s); };
+ const auto toLower = [](const wchar32 s) { return ToLower(s); };
auto* p = const_cast<wchar32*>(text.data() + pos);
const auto* pe = text.data() + pos + count;
@@ -412,7 +412,7 @@ bool ToLower(const wchar32* text, size_t length, wchar32* out) noexcept {
// TODO(yazevnul): get rid of `text == out` case (it is probably used only in lemmer) and then
// we can declare text and out as `__restrict__`
Y_ASSERT(text == out || !(out >= text && out < text + length));
- const auto f = [](const wchar32 s) { return ToLower(s); };
+ const auto f = [](const wchar32 s) { return ToLower(s); };
const auto* p = text;
const auto* const pe = text + length;
if (ModifySequence<true>(p, pe, out, f)) {
@@ -424,7 +424,7 @@ bool ToLower(const wchar32* text, size_t length, wchar32* out) noexcept {
bool ToUpper(const wchar32* text, size_t length, wchar32* out) noexcept {
Y_ASSERT(text == out || !(out >= text && out < text + length));
- const auto f = [](const wchar32 s) { return ToUpper(s); };
+ const auto f = [](const wchar32 s) { return ToUpper(s); };
const auto* p = text;
const auto* const pe = text + length;
if (ModifySequence<true>(p, pe, out, f)) {
@@ -451,7 +451,7 @@ bool ToTitle(const wchar32* text, size_t length, wchar32* out) noexcept {
}
bool ToLower(wchar32* text, size_t length) noexcept {
- const auto f = [](const wchar32 s) { return ToLower(s); };
+ const auto f = [](const wchar32 s) { return ToLower(s); };
const auto* const textEnd = text + length;
if (ModifySequence<true>(text, textEnd, f)) {
ModifySequence<false>(text, textEnd, f);
@@ -461,7 +461,7 @@ bool ToLower(wchar32* text, size_t length) noexcept {
}
bool ToUpper(wchar32* text, size_t length) noexcept {
- const auto f = [](const wchar32 s) { return ToUpper(s); };
+ const auto f = [](const wchar32 s) { return ToUpper(s); };
const auto* const textEnd = text + length;
if (ModifySequence<true>(text, textEnd, f)) {
ModifySequence<false>(text, textEnd, f);
@@ -550,24 +550,24 @@ TUtf16String ToTitleRet(const TWtringBuf text, size_t pos, size_t count) {
}
TUtf32String ToLowerRet(const TUtf32StringBuf text, size_t pos, size_t count) {
- return ToSmthRet(text, pos, count, [](const wchar32* theText, size_t length, wchar32* out) {
+ return ToSmthRet(text, pos, count, [](const wchar32* theText, size_t length, wchar32* out) {
ToLower(theText, length, out);
});
}
TUtf32String ToUpperRet(const TUtf32StringBuf text, size_t pos, size_t count) {
- return ToSmthRet(text, pos, count, [](const wchar32* theText, size_t length, wchar32* out) {
+ return ToSmthRet(text, pos, count, [](const wchar32* theText, size_t length, wchar32* out) {
ToUpper(theText, length, out);
});
}
TUtf32String ToTitleRet(const TUtf32StringBuf text, size_t pos, size_t count) {
- return ToSmthRet(text, pos, count, [](const wchar32* theText, size_t length, wchar32* out) {
+ return ToSmthRet(text, pos, count, [](const wchar32* theText, size_t length, wchar32* out) {
ToTitle(theText, length, out);
});
}
-template <bool insertBr>
+template <bool insertBr>
void EscapeHtmlChars(TUtf16String& str) {
static const TUtf16String lt(LT, Y_ARRAY_SIZE(LT));
static const TUtf16String gt(GT, Y_ARRAY_SIZE(GT));
@@ -590,9 +590,9 @@ void EscapeHtmlChars(TUtf16String& str) {
size_t start = 0;
- for (size_t i = 0; i < cs.size(); ++i) {
+ for (size_t i = 0; i < cs.size(); ++i) {
const TUtf16String* ent = nullptr;
- switch (cs[i]) {
+ switch (cs[i]) {
case '<':
ent = &lt;
break;
diff --git a/util/charset/wide.h b/util/charset/wide.h
index 04e6928aab..e22d3bc05d 100644
--- a/util/charset/wide.h
+++ b/util/charset/wide.h
@@ -1,13 +1,13 @@
#pragma once
#include "recode_result.h"
-#include "unidata.h"
+#include "unidata.h"
#include "utf8.h"
#include "wide_specific.h"
-
+
#include <util/generic/algorithm.h>
#include <util/generic/string.h>
-#include <util/generic/yexception.h>
+#include <util/generic/yexception.h>
#include <util/memory/tempbuf.h>
#include <util/system/compiler.h>
#include <util/system/cpu_id.h>
@@ -16,22 +16,22 @@
#include <cstring>
#ifdef _sse2_
- #include <emmintrin.h>
+ #include <emmintrin.h>
#endif
-template <class T>
-class TTempArray;
+template <class T>
+class TTempArray;
using TCharTemp = TTempArray<wchar16>;
-
+
namespace NDetail {
inline TString InStringMsg(const char* s, size_t len) {
return (len <= 50) ? " in string " + TString(s, len).Quote() : TString();
}
- template <bool isPointer>
+ template <bool isPointer>
struct TSelector;
- template <>
+ template <>
struct TSelector<false> {
template <class T>
static inline void WriteSymbol(wchar16 s, T& dest) noexcept {
@@ -39,7 +39,7 @@ namespace NDetail {
}
};
- template <>
+ template <>
struct TSelector<true> {
template <class T>
static inline void WriteSymbol(wchar16 s, T& dest) noexcept {
@@ -61,7 +61,7 @@ namespace NDetail {
template <class T>
inline void WriteSurrogatePair(wchar32 s, T& dest) noexcept;
-}
+}
inline wchar16* SkipSymbol(wchar16* begin, const wchar16* end) noexcept {
return begin + W16SymbolSize(begin, end);
@@ -197,20 +197,20 @@ inline bool WriteSymbol(wchar32 s, wchar32*& dest, const wchar32* destEnd) noexc
return true;
}
-template <class T>
+template <class T>
inline void ::NDetail::WriteSurrogatePair(wchar32 s, T& dest) noexcept {
- const wchar32 LEAD_OFFSET = 0xD800 - (0x10000 >> 10);
+ const wchar32 LEAD_OFFSET = 0xD800 - (0x10000 >> 10);
Y_ASSERT(s > 0xFFFF && s < ::NUnicode::UnicodeInstancesLimit());
-
- wchar16 lead = LEAD_OFFSET + (static_cast<wchar16>(s >> 10));
- wchar16 tail = 0xDC00 + static_cast<wchar16>(s & 0x3FF);
+
+ wchar16 lead = LEAD_OFFSET + (static_cast<wchar16>(s >> 10));
+ wchar16 tail = 0xDC00 + static_cast<wchar16>(s & 0x3FF);
Y_ASSERT(IsW16SurrogateLead(lead));
Y_ASSERT(IsW16SurrogateTail(tail));
-
- WriteSymbol(lead, dest);
- WriteSymbol(tail, dest);
-}
-
+
+ WriteSymbol(lead, dest);
+ WriteSymbol(tail, dest);
+}
+
class TCharIterator {
private:
const wchar16* Begin;
@@ -220,36 +220,36 @@ public:
inline explicit TCharIterator(const wchar16* end)
: Begin(end)
, End(end)
- {
- }
+ {
+ }
inline TCharIterator(const wchar16* begin, const wchar16* end)
: Begin(begin)
, End(end)
- {
- }
-
- inline TCharIterator& operator++() {
+ {
+ }
+
+ inline TCharIterator& operator++() {
Begin = SkipSymbol(Begin, End);
return *this;
}
- inline bool operator==(const wchar16* other) const {
+ inline bool operator==(const wchar16* other) const {
return Begin == other;
}
- inline bool operator!=(const wchar16* other) const {
+ inline bool operator!=(const wchar16* other) const {
return !(*this == other);
}
- inline bool operator==(const TCharIterator& other) const {
+ inline bool operator==(const TCharIterator& other) const {
return *this == other.Begin;
}
- inline bool operator!=(const TCharIterator& other) const {
+ inline bool operator!=(const TCharIterator& other) const {
return *this != other.Begin;
}
- inline wchar32 operator*() const {
+ inline wchar32 operator*() const {
return ReadSymbol(Begin, End);
}
@@ -296,7 +296,7 @@ namespace NDetail {
void UTF8ToWideImplSSE41(const unsigned char*& cur, const unsigned char* last, wchar16*& dest) noexcept;
void UTF8ToWideImplSSE41(const unsigned char*& cur, const unsigned char* last, wchar32*& dest) noexcept;
-}
+}
//! @return len if robust and position where encoding stopped if not
template <bool robust, typename TCharType>
@@ -592,14 +592,14 @@ namespace NDetail {
}
#endif //_sse2_
-}
+}
//! returns @c true if character sequence has no symbols with value greater than 0x7F
template <typename TChar>
inline bool IsStringASCII(const TChar* first, const TChar* last) {
return ::NDetail::DoIsStringASCII(first, last);
}
-
+
#ifdef _sse2_
template <>
inline bool IsStringASCII<unsigned char>(const unsigned char* first, const unsigned char* last) {
@@ -809,7 +809,7 @@ TUtf32String ToTitleRet(const TUtf32StringBuf text, size_t pos = 0, size_t count
//! replaces the '<', '>' and '&' characters in string with '&lt;', '&gt;' and '&amp;' respectively
// insertBr=true - replace '\r' and '\n' with "<BR>"
-template <bool insertBr>
+template <bool insertBr>
void EscapeHtmlChars(TUtf16String& str);
//! returns number of characters in range. Handle surrogate pairs as one character.
diff --git a/util/charset/wide_sse41.cpp b/util/charset/wide_sse41.cpp
index d1f2a74851..2326424468 100644
--- a/util/charset/wide_sse41.cpp
+++ b/util/charset/wide_sse41.cpp
@@ -6,17 +6,17 @@
namespace NDetail {
void UTF8ToWideImplSSE41(const unsigned char*&, const unsigned char*, wchar16*&) noexcept {
}
- void UTF8ToWideImplSSE41(const unsigned char*&, const unsigned char*, wchar32*&) noexcept {
- }
+ void UTF8ToWideImplSSE41(const unsigned char*&, const unsigned char*, wchar32*&) noexcept {
+ }
}
#else
- #include <util/system/compiler.h>
+ #include <util/system/compiler.h>
- #include <cstring>
- #include <emmintrin.h>
- #include <smmintrin.h>
+ #include <cstring>
+ #include <emmintrin.h>
+ #include <smmintrin.h>
//processes to the first error, or until less then 16 bytes left
//most code taken from https://woboq.com/blog/utf-8-processing-using-simd.html
@@ -40,10 +40,10 @@ static Y_FORCE_INLINE ui32 Unpack16BytesIntoUtf16IfNoSurrogats(const unsigned ch
__m128i isAsciiMask = _mm_cmpgt_epi8(chunk, _mm_set1_epi8(0));
__m128i cond2 = _mm_cmplt_epi8(_mm_set1_epi8(0xc2 - 1 - 0x80), chunkSigned);
- __m128i state = _mm_set1_epi8(0x0 | (char)0x80);
+ __m128i state = _mm_set1_epi8(0x0 | (char)0x80);
__m128i cond3 = _mm_cmplt_epi8(_mm_set1_epi8(0xe0 - 1 - 0x80), chunkSigned);
- state = _mm_blendv_epi8(state, _mm_set1_epi8(0x2 | (char)0xc0), cond2);
+ state = _mm_blendv_epi8(state, _mm_set1_epi8(0x2 | (char)0xc0), cond2);
int sourceAdvance;
__m128i shifts;
@@ -85,20 +85,20 @@ static Y_FORCE_INLINE ui32 Unpack16BytesIntoUtf16IfNoSurrogats(const unsigned ch
__m128i chunk_right = _mm_slli_si128(chunk, 1);
shifts = _mm_blendv_epi8(shifts, _mm_srli_si128(shifts, 1),
- _mm_srli_si128(_mm_slli_epi16(shifts, 7), 1));
+ _mm_srli_si128(_mm_slli_epi16(shifts, 7), 1));
chunkLow = _mm_blendv_epi8(chunk,
- _mm_or_si128(chunk, _mm_and_si128(_mm_slli_epi16(chunk_right, 6), _mm_set1_epi8(0xc0))),
- _mm_cmpeq_epi8(counts, _mm_set1_epi8(1)));
+ _mm_or_si128(chunk, _mm_and_si128(_mm_slli_epi16(chunk_right, 6), _mm_set1_epi8(0xc0))),
+ _mm_cmpeq_epi8(counts, _mm_set1_epi8(1)));
chunkHigh = _mm_and_si128(chunk, _mm_cmpeq_epi8(counts, _mm_set1_epi8(2)));
shifts = _mm_blendv_epi8(shifts, _mm_srli_si128(shifts, 2),
- _mm_srli_si128(_mm_slli_epi16(shifts, 6), 2));
+ _mm_srli_si128(_mm_slli_epi16(shifts, 6), 2));
chunkHigh = _mm_srli_epi32(chunkHigh, 2);
shifts = _mm_blendv_epi8(shifts, _mm_srli_si128(shifts, 4),
- _mm_srli_si128(_mm_slli_epi16(shifts, 5), 4));
+ _mm_srli_si128(_mm_slli_epi16(shifts, 5), 4));
int c = _mm_extract_epi16(counts, 7);
sourceAdvance = !(c & 0x0200) ? 16 : 15;
@@ -107,7 +107,7 @@ static Y_FORCE_INLINE ui32 Unpack16BytesIntoUtf16IfNoSurrogats(const unsigned ch
__m128i mask3 = _mm_slli_si128(cond3, 1);
__m128i cond4 = _mm_cmplt_epi8(_mm_set1_epi8(0xf0 - 1 - 0x80), chunkSigned);
- state = _mm_blendv_epi8(state, _mm_set1_epi8(0x3 | (char)0xe0), cond3);
+ state = _mm_blendv_epi8(state, _mm_set1_epi8(0x3 | (char)0xe0), cond3);
// 4 bytes sequences are not vectorize. Fall back to the scalar processing
if (Y_UNLIKELY(_mm_movemask_epi8(cond4))) {
@@ -149,31 +149,31 @@ static Y_FORCE_INLINE ui32 Unpack16BytesIntoUtf16IfNoSurrogats(const unsigned ch
__m128i chunk_right = _mm_slli_si128(chunk, 1);
shifts = _mm_blendv_epi8(shifts, _mm_srli_si128(shifts, 1),
- _mm_srli_si128(_mm_slli_epi16(shifts, 7), 1));
+ _mm_srli_si128(_mm_slli_epi16(shifts, 7), 1));
chunkLow = _mm_blendv_epi8(chunk,
- _mm_or_si128(chunk, _mm_and_si128(_mm_slli_epi16(chunk_right, 6), _mm_set1_epi8(0xc0))),
- _mm_cmpeq_epi8(counts, _mm_set1_epi8(1)));
+ _mm_or_si128(chunk, _mm_and_si128(_mm_slli_epi16(chunk_right, 6), _mm_set1_epi8(0xc0))),
+ _mm_cmpeq_epi8(counts, _mm_set1_epi8(1)));
chunkHigh = _mm_and_si128(chunk, _mm_cmpeq_epi8(counts, _mm_set1_epi8(2)));
shifts = _mm_blendv_epi8(shifts, _mm_srli_si128(shifts, 2),
- _mm_srli_si128(_mm_slli_epi16(shifts, 6), 2));
+ _mm_srli_si128(_mm_slli_epi16(shifts, 6), 2));
chunkHigh = _mm_srli_epi32(chunkHigh, 2);
shifts = _mm_blendv_epi8(shifts, _mm_srli_si128(shifts, 4),
- _mm_srli_si128(_mm_slli_epi16(shifts, 5), 4));
+ _mm_srli_si128(_mm_slli_epi16(shifts, 5), 4));
chunkHigh = _mm_or_si128(chunkHigh,
- _mm_and_si128(_mm_and_si128(_mm_slli_epi32(chunk_right, 4), _mm_set1_epi8(0xf0)),
- mask3));
+ _mm_and_si128(_mm_and_si128(_mm_slli_epi32(chunk_right, 4), _mm_set1_epi8(0xf0)),
+ mask3));
int c = _mm_extract_epi16(counts, 7);
- sourceAdvance = !(c & 0x0200) ? 16 : !(c & 0x02) ? 15
- : 14;
+ sourceAdvance = !(c & 0x0200) ? 16 : !(c & 0x02) ? 15
+ : 14;
}
shifts = _mm_blendv_epi8(shifts, _mm_srli_si128(shifts, 8),
- _mm_srli_si128(_mm_slli_epi16(shifts, 4), 8));
+ _mm_srli_si128(_mm_slli_epi16(shifts, 4), 8));
chunkHigh = _mm_slli_si128(chunkHigh, 1);
diff --git a/util/charset/wide_ut.cpp b/util/charset/wide_ut.cpp
index d8f3233e73..929a72e38f 100644
--- a/util/charset/wide_ut.cpp
+++ b/util/charset/wide_ut.cpp
@@ -1,11 +1,11 @@
#include "utf8.h"
-#include "wide.h"
-
+#include "wide.h"
+
#include <library/cpp/testing/unittest/registar.h>
-
+
#include <util/string/reverse.h>
-#include <algorithm>
+#include <algorithm>
namespace {
//! three UTF8 encoded russian letters (A, B, V)
@@ -14,12 +14,12 @@ namespace {
const char asciiLatinAlphabet[] = "ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz";
const wchar16 wideLatinAlphabet[] = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'G', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
- 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 0};
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 0};
const wchar16 wideCyrillicAlphabet[] = {
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
- 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x00};
+ 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x00};
const char utf8CyrillicAlphabet[] =
"\xd0\x90\xd0\x91\xd0\x92\xd0\x93\xd0\x94\xd0\x95\xd0\x96\xd0\x97"
"\xd0\x98\xd0\x99\xd0\x9a\xd0\x9b\xd0\x9c\xd0\x9d\xd0\x9e\xd0\x9f"
@@ -35,22 +35,22 @@ namespace {
const wchar32 LEAD_BITS_MASK_4_BYTES = 0x07;
wchar16 ws[] = {
- 0x0009,
- 0x000A, 0x2028, 0x2029,
- 0x000B,
- 0x000C,
- 0x000D,
- 0x0020, 0x1680,
+ 0x0009,
+ 0x000A, 0x2028, 0x2029,
+ 0x000B,
+ 0x000C,
+ 0x000D,
+ 0x0020, 0x1680,
0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x200B,
0x202F, 0x205F, 0x3000,
- 0x00A0};
+ 0x00A0};
const size_t CaseTestDataSize = 10;
wchar32 WideStringTestData[][CaseTestDataSize] = {
- {0x01C4, 0x10428, 0x10429, 0x10447, 0x10441, 0x1C03, 0x00A0, 0x10400, 0x10415, 0x10437}, // original
- {0x01C6, 0x10428, 0x10429, 0x10447, 0x10441, 0x1C03, 0x00A0, 0x10428, 0x1043D, 0x10437}, // lower
- {0x01C4, 0x10400, 0x10401, 0x1041F, 0x10419, 0x1C03, 0x00A0, 0x10400, 0x10415, 0x1040F}, // upper
- {0x01C5, 0x10428, 0x10429, 0x10447, 0x10441, 0x1C03, 0x00A0, 0x10428, 0x1043D, 0x10437}, // title
+ {0x01C4, 0x10428, 0x10429, 0x10447, 0x10441, 0x1C03, 0x00A0, 0x10400, 0x10415, 0x10437}, // original
+ {0x01C6, 0x10428, 0x10429, 0x10447, 0x10441, 0x1C03, 0x00A0, 0x10428, 0x1043D, 0x10437}, // lower
+ {0x01C4, 0x10400, 0x10401, 0x1041F, 0x10419, 0x1C03, 0x00A0, 0x10400, 0x10415, 0x1040F}, // upper
+ {0x01C5, 0x10428, 0x10429, 0x10447, 0x10441, 0x1C03, 0x00A0, 0x10428, 0x1043D, 0x10437}, // title
};
TUtf16String CreateUnicodeText() {
@@ -73,7 +73,7 @@ namespace {
for (int i = 0; i < len; ++i) {
if (i <= 0x7F) { // ASCII characters without 0x7 and 0x1B
text[i] = static_cast<wchar16>(i);
- } else if (i >= 0xC0 && i <= 0xFF) { // russian characters (without YO and yo)
+ } else if (i >= 0xC0 && i <= 0xFF) { // russian characters (without YO and yo)
text[i] = static_cast<wchar16>(i + 0x0350); // 0x0410 - 0x044F
}
}
@@ -106,21 +106,21 @@ namespace {
'\xd0', '\xb7', '\xd0', '\xb8', '\xd0', '\xb9', '\xd0', '\xba', '\xd0', '\xbb', '\xd0', '\xbc', '\xd0', '\xbd', '\xd0', '\xbe',
'\xd0', '\xbf', '\xd1', '\x80', '\xd1', '\x81', '\xd1', '\x82', '\xd1', '\x83', '\xd1', '\x84', '\xd1', '\x85', '\xd1', '\x86',
'\xd1', '\x87', '\xd1', '\x88', '\xd1', '\x89', '\xd1', '\x8a', '\xd1', '\x8b', '\xd1', '\x8c', '\xd1', '\x8d', '\xd1', '\x8e',
- '\xd1', '\x8f'};
+ '\xd1', '\x8f'};
return TString(text, Y_ARRAY_SIZE(text));
}
//! use this function to dump UTF8 text into a file in case of any changes
- // void DumpUTF8Text() {
+ // void DumpUTF8Text() {
// TString s = WideToUTF8(UnicodeText);
- // std::ofstream f("utf8.txt");
- // f << std::hex;
- // for (int i = 0; i < (int)s.size(); ++i) {
- // f << "0x" << std::setw(2) << std::setfill('0') << (int)(ui8)s[i] << ", ";
- // if ((i + 1) % 16 == 0)
- // f << std::endl;
- // }
- // }
+ // std::ofstream f("utf8.txt");
+ // f << std::hex;
+ // for (int i = 0; i < (int)s.size(); ++i) {
+ // f << "0x" << std::setw(2) << std::setfill('0') << (int)(ui8)s[i] << ", ";
+ // if ((i + 1) % 16 == 0)
+ // f << std::endl;
+ // }
+ // }
void CheckRecodeOK(wchar32 expected, unsigned char* first, size_t n) {
wchar32 w = 0;
@@ -160,7 +160,7 @@ namespace {
}
}
-class TConversionTest: public TTestBase {
+class TConversionTest: public TTestBase {
private:
//! @note every of the text can have zeros in the middle
const TUtf16String UnicodeText_;
@@ -168,15 +168,15 @@ private:
private:
UNIT_TEST_SUITE(TConversionTest);
- UNIT_TEST(TestReadUTF8Char);
- UNIT_TEST(TestGetUTF8CharLen);
- UNIT_TEST(TestWriteUTF8Char);
- UNIT_TEST(TestUTF8ToWide);
- UNIT_TEST(TestWideToUTF8);
- UNIT_TEST(TestGetNumOfUTF8Chars);
- UNIT_TEST(TestSubstrUTF8);
- UNIT_TEST(TestUnicodeCase);
- UNIT_TEST(TestUnicodeDetails);
+ UNIT_TEST(TestReadUTF8Char);
+ UNIT_TEST(TestGetUTF8CharLen);
+ UNIT_TEST(TestWriteUTF8Char);
+ UNIT_TEST(TestUTF8ToWide);
+ UNIT_TEST(TestWideToUTF8);
+ UNIT_TEST(TestGetNumOfUTF8Chars);
+ UNIT_TEST(TestSubstrUTF8);
+ UNIT_TEST(TestUnicodeCase);
+ UNIT_TEST(TestUnicodeDetails);
UNIT_TEST(TestHexConversion);
UNIT_TEST_SUITE_END();
@@ -475,7 +475,7 @@ void TConversionTest::TestUTF8ToWide() {
UNIT_ASSERT_VALUES_EQUAL(w[i], UnicodeText_[i]);
}
- wchar16 buffer[4] = {0};
+ wchar16 buffer[4] = {0};
size_t written = 0;
// the function must extract 2 symbols only
bool result = UTF8ToWide(utext, 5, buffer, written);
@@ -495,24 +495,24 @@ void TConversionTest::TestUTF8ToWide() {
UNIT_ASSERT(buffer[2] == 0x0000);
UNIT_ASSERT(buffer[3] == 0x0000);
UNIT_ASSERT(written == 0);
-
+
w = UTF8ToWide(asciiLatinAlphabet, strlen(asciiLatinAlphabet));
UNIT_ASSERT(w == wideLatinAlphabet);
w = UTF8ToWide(utf8CyrillicAlphabet, strlen(utf8CyrillicAlphabet));
UNIT_ASSERT(w == wideCyrillicAlphabet);
const char* utf8NonBMP = "\xf4\x80\x89\x84\xf4\x80\x89\x87\xf4\x80\x88\xba";
- wchar16 wNonBMPDummy[] = {0xDBC0, 0xDE44, 0xDBC0, 0xDE47, 0xDBC0, 0xDE3A};
+ wchar16 wNonBMPDummy[] = {0xDBC0, 0xDE44, 0xDBC0, 0xDE47, 0xDBC0, 0xDE3A};
TestSurrogates(utf8NonBMP, wNonBMPDummy, Y_ARRAY_SIZE(wNonBMPDummy));
const char* utf8NonBMP2 = "ab\xf4\x80\x89\x87n";
- wchar16 wNonBMPDummy2[] = {'a', 'b', 0xDBC0, 0xDE47, 'n'};
+ wchar16 wNonBMPDummy2[] = {'a', 'b', 0xDBC0, 0xDE47, 'n'};
TestSurrogates(utf8NonBMP2, wNonBMPDummy2, Y_ARRAY_SIZE(wNonBMPDummy2));
UNIT_ASSERT_VALUES_EQUAL(WideToUTF8(UTF8ToWide(WideToUTF8(UTF8ToWide<true>(
- "m\xFB\xB2\xA5\xAA\xAFyeuse.sexwebcamz.com")))),
+ "m\xFB\xB2\xA5\xAA\xAFyeuse.sexwebcamz.com")))),
TString(
- "m\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBDyeuse.sexwebcamz.com"));
+ "m\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBDyeuse.sexwebcamz.com"));
}
void TConversionTest::TestWideToUTF8() {
@@ -520,7 +520,7 @@ void TConversionTest::TestWideToUTF8() {
size_t len = 0;
for (TUtf16String::const_iterator i = UnicodeText_.begin(), ie = UnicodeText_.end(); i != ie; ++i) {
len += UTF8RuneLenByUCS(*i);
- }
+ }
UNIT_ASSERT(s.size() == Utf8Text_.size());
UNIT_ASSERT(s.size() == len);
@@ -579,16 +579,16 @@ void TConversionTest::TestUnicodeDetails() {
}
}
-class TWideUtilTest: public TTestBase {
+class TWideUtilTest: public TTestBase {
UNIT_TEST_SUITE(TWideUtilTest);
- UNIT_TEST(TestCollapse);
- UNIT_TEST(TestCollapseBuffer);
- UNIT_TEST(TestStrip);
- UNIT_TEST(TestIsSpace);
- UNIT_TEST(TestEscapeHtmlChars);
- UNIT_TEST(TestToLower);
- UNIT_TEST(TestToUpper);
- UNIT_TEST(TestWideString);
+ UNIT_TEST(TestCollapse);
+ UNIT_TEST(TestCollapseBuffer);
+ UNIT_TEST(TestStrip);
+ UNIT_TEST(TestIsSpace);
+ UNIT_TEST(TestEscapeHtmlChars);
+ UNIT_TEST(TestToLower);
+ UNIT_TEST(TestToUpper);
+ UNIT_TEST(TestWideString);
UNIT_TEST(TestCountWideChars);
UNIT_TEST(TestIsValidUTF16);
UNIT_TEST(TestIsStringASCII);
@@ -814,21 +814,21 @@ public:
EscapeHtmlChars<false>(w);
switch (c) {
- case '<':
+ case '<':
UNIT_ASSERT(w == ASCIIToWide("&lt;"));
- break;
- case '>':
+ break;
+ case '>':
UNIT_ASSERT(w == ASCIIToWide("&gt;"));
- break;
- case '&':
+ break;
+ case '&':
UNIT_ASSERT(w == ASCIIToWide("&amp;"));
- break;
- case '"':
+ break;
+ case '"':
UNIT_ASSERT(w == ASCIIToWide("&quot;"));
- break;
- default:
+ break;
+ default:
UNIT_ASSERT(w == TUtf16String(1, c));
- break;
+ break;
}
}
@@ -837,25 +837,25 @@ public:
EscapeHtmlChars<true>(w);
switch (c) {
- case '<':
+ case '<':
UNIT_ASSERT(w == ASCIIToWide("&lt;"));
- break;
- case '>':
+ break;
+ case '>':
UNIT_ASSERT(w == ASCIIToWide("&gt;"));
- break;
- case '&':
+ break;
+ case '&':
UNIT_ASSERT(w == ASCIIToWide("&amp;"));
- break;
- case '"':
+ break;
+ case '"':
UNIT_ASSERT(w == ASCIIToWide("&quot;"));
- break;
- case '\r':
- case '\n':
+ break;
+ case '\r':
+ case '\n':
UNIT_ASSERT(w == ASCIIToWide("<BR>"));
- break;
- default:
+ break;
+ default:
UNIT_ASSERT(w == TUtf16String(1, c));
- break;
+ break;
}
}
}
@@ -863,7 +863,7 @@ public:
void TestToLower() {
const size_t n = 32;
wchar16 upperCase[n];
- std::copy(wideCyrillicAlphabet, wideCyrillicAlphabet + n, upperCase);
+ std::copy(wideCyrillicAlphabet, wideCyrillicAlphabet + n, upperCase);
ToLower(upperCase, n);
UNIT_ASSERT(TWtringBuf(upperCase, n) == TWtringBuf(wideCyrillicAlphabet + n, n));
}
@@ -871,7 +871,7 @@ public:
void TestToUpper() {
const size_t n = 32;
wchar16 lowerCase[n];
- std::copy(wideCyrillicAlphabet + n, wideCyrillicAlphabet + n * 2, lowerCase);
+ std::copy(wideCyrillicAlphabet + n, wideCyrillicAlphabet + n * 2, lowerCase);
ToUpper(lowerCase, n);
UNIT_ASSERT(TWtringBuf(lowerCase, n) == TWtringBuf(wideCyrillicAlphabet, n));
}
@@ -908,7 +908,7 @@ public:
UNIT_ASSERT(temp == title);
TVector<wchar32> buffer(WideStringTestData[0], WideStringTestData[0] + CaseTestDataSize);
- std::reverse(buffer.begin(), buffer.end());
+ std::reverse(buffer.begin(), buffer.end());
const TUtf16String reversed = UTF32ToWide(buffer.data(), buffer.size());
temp = original;
@@ -988,7 +988,7 @@ public:
UNIT_ASSERT(IsLowerWord(TWtringBuf()));
UNIT_ASSERT(IsLowerWord(UTF8ToWide("")));
UNIT_ASSERT(IsLowerWord(UTF8ToWide("test")));
- UNIT_ASSERT(IsLowerWord(UTF8ToWide("тест"))); // "тест" is "test" in russian (cyrrilic)
+ UNIT_ASSERT(IsLowerWord(UTF8ToWide("тест"))); // "тест" is "test" in russian (cyrrilic)
UNIT_ASSERT(!IsLowerWord(UTF8ToWide("тест тест")));
UNIT_ASSERT(!IsLowerWord(UTF8ToWide("тест100500")));
@@ -1043,7 +1043,7 @@ public:
UNIT_ASSERT(IsLower(TWtringBuf()));
UNIT_ASSERT(IsLower(UTF8ToWide("")));
UNIT_ASSERT(IsLower(UTF8ToWide("test")));
- UNIT_ASSERT(IsLower(UTF8ToWide("тест"))); // "тест" is "test" in russian (cyrrilic)
+ UNIT_ASSERT(IsLower(UTF8ToWide("тест"))); // "тест" is "test" in russian (cyrrilic)
UNIT_ASSERT(IsLower(UTF8ToWide("тест тест")));
UNIT_ASSERT(IsLower(UTF8ToWide("тест100500")));
@@ -1728,7 +1728,7 @@ public:
{
auto s = UTF8ToWide("теСт");
const auto copy = s;
- const auto title = UTF8ToWide("теСТ");
+ const auto title = UTF8ToWide("теСТ");
UNIT_ASSERT(ToTitle(s, 3, 100500));
UNIT_ASSERT(s == title);
diff --git a/util/charset/ya.make b/util/charset/ya.make
index 26d38cb10b..bee8891f7c 100644
--- a/util/charset/ya.make
+++ b/util/charset/ya.make
@@ -1,4 +1,4 @@
-LIBRARY()
+LIBRARY()
OWNER(g:util)
SUBSCRIBER(g:util-subscribers)
@@ -9,13 +9,13 @@ IF (TSTRING_IS_STD_STRING)
CFLAGS(GLOBAL -DTSTRING_IS_STD_STRING)
ENDIF()
-JOIN_SRCS(
- all_charset.cpp
- generated/unidata.cpp
- recode_result.cpp
- unicode_table.cpp
- unidata.cpp
- utf8.cpp
+JOIN_SRCS(
+ all_charset.cpp
+ generated/unidata.cpp
+ recode_result.cpp
+ unicode_table.cpp
+ unidata.cpp
+ utf8.cpp
wide.cpp
)