diff options
author | stanly <stanly@yandex-team.ru> | 2022-02-10 16:46:49 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:49 +0300 |
commit | cde218e65dfef5ce03a48d641fd8f7913cf17b2d (patch) | |
tree | d3349caea4095825a55b5ba24fe758067b29ce6f /library/cpp/diff | |
parent | 9f813499b4ef585cb3c2bb93de93ef003daf4fc4 (diff) | |
download | ydb-cde218e65dfef5ce03a48d641fd8f7913cf17b2d.tar.gz |
Restoring authorship annotation for <stanly@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/diff')
-rw-r--r-- | library/cpp/diff/diff.cpp | 10 | ||||
-rw-r--r-- | library/cpp/diff/diff.h | 12 | ||||
-rw-r--r-- | library/cpp/diff/diff_ut.cpp | 24 |
3 files changed, 23 insertions, 23 deletions
diff --git a/library/cpp/diff/diff.cpp b/library/cpp/diff/diff.cpp index be57da7f39..0598f005b0 100644 --- a/library/cpp/diff/diff.cpp +++ b/library/cpp/diff/diff.cpp @@ -58,18 +58,18 @@ struct TCollection<wchar16>: public TCollectionImpl<wchar16> { } }; -size_t NDiff::InlineDiff(TVector<TChunk<char>>& chunks, const TStringBuf& left, const TStringBuf& right, const TString& delims) { +size_t NDiff::InlineDiff(TVector<TChunk<char>>& chunks, const TStringBuf& left, const TStringBuf& right, const TString& delims) { if (delims.empty()) { return InlineDiff<char>(chunks, TConstArrayRef<char>(left.data(), left.size()), TConstArrayRef<char>(right.data(), right.size())); } TCollection<char> c1(left, delims); TCollection<char> c2(right, delims); TVector<TChunk<ui64>> diff; - const size_t dist = InlineDiff<ui64>(diff, c1.GetKeys(), c2.GetKeys()); + const size_t dist = InlineDiff<ui64>(diff, c1.GetKeys(), c2.GetKeys()); for (const auto& it : diff) { chunks.push_back(TChunk<char>(c1.Remap(it.Left), c2.Remap(it.Right), c1.Remap(it.Common))); } - return dist; + return dist; } size_t NDiff::InlineDiff(TVector<TChunk<wchar16>>& chunks, const TWtringBuf& left, const TWtringBuf& right, const TUtf16String& delims) { @@ -79,9 +79,9 @@ size_t NDiff::InlineDiff(TVector<TChunk<wchar16>>& chunks, const TWtringBuf& lef TCollection<wchar16> c1(left, delims); TCollection<wchar16> c2(right, delims); TVector<TChunk<ui64>> diff; - const size_t dist = InlineDiff<ui64>(diff, c1.GetKeys(), c2.GetKeys()); + const size_t dist = InlineDiff<ui64>(diff, c1.GetKeys(), c2.GetKeys()); for (const auto& it : diff) { chunks.push_back(TChunk<wchar16>(c1.Remap(it.Left), c2.Remap(it.Right), c1.Remap(it.Common))); } - return dist; + return dist; } diff --git a/library/cpp/diff/diff.h b/library/cpp/diff/diff.h index 94fb00cd0b..aded9022ad 100644 --- a/library/cpp/diff/diff.h +++ b/library/cpp/diff/diff.h @@ -27,7 +27,7 @@ namespace NDiff { }; template <typename T> - size_t InlineDiff(TVector<TChunk<T>>& chunks, const TConstArrayRef<T>& left, const TConstArrayRef<T>& right) { + size_t InlineDiff(TVector<TChunk<T>>& chunks, const TConstArrayRef<T>& left, const TConstArrayRef<T>& right) { TConstArrayRef<T> s1(left); TConstArrayRef<T> s2(right); @@ -53,8 +53,8 @@ namespace NDiff { const T* e1 = s1.begin(); const T* e2 = s2.begin(); - size_t dist = s1.size() - lcs.size(); - + size_t dist = s1.size() - lcs.size(); + const size_t n = ctx.ResultBuffer.size(); for (size_t i = 0; i <= n && (e1 != s1.end() || e2 != s2.end());) { if (i < n) { @@ -86,8 +86,8 @@ namespace NDiff { d1 = e1; d2 = e2; } - - return dist; + + return dist; } template <typename TFormatter, typename T> @@ -106,7 +106,7 @@ namespace NDiff { // Without delimiters calculates character-wise diff // With delimiters calculates token-wise diff - size_t InlineDiff(TVector<TChunk<char>>& chunks, const TStringBuf& left, const TStringBuf& right, const TString& delims = TString()); + size_t InlineDiff(TVector<TChunk<char>>& chunks, const TStringBuf& left, const TStringBuf& right, const TString& delims = TString()); size_t InlineDiff(TVector<TChunk<wchar16>>& chunks, const TWtringBuf& left, const TWtringBuf& right, const TUtf16String& delims = TUtf16String()); } diff --git a/library/cpp/diff/diff_ut.cpp b/library/cpp/diff/diff_ut.cpp index b82a7b000e..42285d228f 100644 --- a/library/cpp/diff/diff_ut.cpp +++ b/library/cpp/diff/diff_ut.cpp @@ -37,18 +37,18 @@ struct TDiffTester { }; Y_UNIT_TEST_SUITE(DiffTokens) { - Y_UNIT_TEST(ReturnValue) { - TVector<TChunk<char>> res; - UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "aaa"), 0); - UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "aa"), 1); - UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "a"), 2); - UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "abc"), 2); - UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "aba"), 1); - UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "", "aba"), 3); - UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "aaaa"), 1); - UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "abc", "xyz"), 3); - } - + Y_UNIT_TEST(ReturnValue) { + TVector<TChunk<char>> res; + UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "aaa"), 0); + UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "aa"), 1); + UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "a"), 2); + UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "abc"), 2); + UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "aba"), 1); + UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "", "aba"), 3); + UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "aaa", "aaaa"), 1); + UNIT_ASSERT_VALUES_EQUAL(InlineDiff(res, "abc", "xyz"), 3); + } + Y_UNIT_TEST(EqualStringsOneToken) { TDiffTester tester; |