From d12c53602a926a92a282fbafdc6db84917bc07ba Mon Sep 17 00:00:00 2001 From: Martin McGrane Date: Wed, 15 Apr 2020 09:37:06 +1000 Subject: [PATCH] Refactor short loops --- .clang-format | 2 +- src/AstArgument.h | 4 +++- src/AstSemanticChecker.cpp | 8 +++++-- src/EvaluatorUtils.h | 13 +++++++---- src/RamOperation.h | 8 +++++-- src/json11.h | 33 +++++++++++++++++++-------- src/test/binary_relation_test.cpp | 14 ++++++++---- src/test/brie_test.cpp | 4 +++- src/test/btree_set_test.cpp | 4 +++- src/test/eqrel_datastructure_test.cpp | 12 +++++++--- 10 files changed, 74 insertions(+), 28 deletions(-) diff --git a/.clang-format b/.clang-format index 0792ffd4822..abb36e4bb99 100644 --- a/.clang-format +++ b/.clang-format @@ -13,7 +13,7 @@ AllowShortBlocksOnASingleLine: false AllowShortCaseLabelsOnASingleLine: false AllowShortFunctionsOnASingleLine: Empty AllowShortIfStatementsOnASingleLine: true -AllowShortLoopsOnASingleLine: true +AllowShortLoopsOnASingleLine: false AlwaysBreakBeforeMultilineStrings: true AlwaysBreakTemplateDeclarations: true BinPackArguments: true diff --git a/src/AstArgument.h b/src/AstArgument.h index 6ac1f8f0caa..ce6a07c1a37 100644 --- a/src/AstArgument.h +++ b/src/AstArgument.h @@ -269,7 +269,9 @@ class AstTerm : public AstArgument { static VecOwn asVec(Operands... ops) { Own ary[] = {std::move(ops)...}; VecOwn xs; - for (auto&& x : ary) xs.push_back(std::move(x)); + for (auto&& x : ary) { + xs.push_back(std::move(x)); + } return xs; } }; diff --git a/src/AstSemanticChecker.cpp b/src/AstSemanticChecker.cpp index 1b577939f65..5cc4bcd5e9f 100644 --- a/src/AstSemanticChecker.cpp +++ b/src/AstSemanticChecker.cpp @@ -136,8 +136,12 @@ AstSemanticCheckerImpl::AstSemanticCheckerImpl(AstTranslationUnit& tu) : tu(tu) } // check rules - for (auto* rel : program.getRelations()) checkRelation(*rel); - for (auto* clause : program.getClauses()) checkClause(*clause); + for (auto* rel : program.getRelations()) { + checkRelation(*rel); + } + for (auto* clause : program.getClauses()) { + checkClause(*clause); + } checkNamespaces(); checkIO(); diff --git a/src/EvaluatorUtils.h b/src/EvaluatorUtils.h index 45d26eb86f3..57dfbd34674 100644 --- a/src/EvaluatorUtils.h +++ b/src/EvaluatorUtils.h @@ -26,10 +26,15 @@ template -> void */> void runRange(A from, A to, A step, F&& go) { #define GO(x) go(Tuple{ramBitCast(x)}) if (0 < step) { - for (auto x = from; x < to; x += step) GO(x); + for (auto x = from; x < to; x += step) { + GO(x); + } } else if (step < 0) { - for (auto x = from; to < x; x += step) GO(x); - } else if (from != to) { // `step = 0` edge case, only if non-empty range + for (auto x = from; to < x; x += step) { + GO(x); + } + } else if (from != to) { + // `step = 0` edge case, only if non-empty range GO(from); } #undef GO @@ -40,4 +45,4 @@ void runRange(A from, A to, F&& go) { return runRange(from, to, A(from <= to ? 1 : -1), std::forward(go)); } -} // namespace souffle::evaluator \ No newline at end of file +} // namespace souffle::evaluator diff --git a/src/RamOperation.h b/src/RamOperation.h index 76825a670e1..acec7e4e28f 100644 --- a/src/RamOperation.h +++ b/src/RamOperation.h @@ -974,7 +974,9 @@ class RamNestedIntrinsicOperator : public RamTupleOperation { std::vector getChildNodes() const override { auto res = RamTupleOperation::getChildNodes(); - for (auto&& x : args) res.push_back(x.get()); + for (auto&& x : args) { + res.push_back(x.get()); + } return res; } @@ -985,7 +987,9 @@ class RamNestedIntrinsicOperator : public RamTupleOperation { void apply(const RamNodeMapper& map) override { RamTupleOperation::apply(map); - for (auto&& x : args) x = map(std::move(x)); + for (auto&& x : args) { + x = map(std::move(x)); + } } protected: diff --git a/src/json11.h b/src/json11.h index 894b761030d..3092c017a6c 100644 --- a/src/json11.h +++ b/src/json11.h @@ -673,7 +673,9 @@ struct JsonParser final { * Advance until the current character is non-whitespace. */ void consume_whitespace() { - while (str[i] == ' ' || str[i] == '\r' || str[i] == '\n' || str[i] == '\t') i++; + while (str[i] == ' ' || str[i] == '\r' || str[i] == '\n' || str[i] == '\t') { + i++; + } } /* consume_comment() @@ -864,10 +866,14 @@ struct JsonParser final { // Integer part if (str[i] == '0') { i++; - if (in_range(str[i], '0', '9')) return fail("leading 0s not permitted in numbers"); + if (in_range(str[i], '0', '9')) { + return fail("leading 0s not permitted in numbers"); + } } else if (in_range(str[i], '1', '9')) { i++; - while (in_range(str[i], '0', '9')) i++; + while (in_range(str[i], '0', '9')) { + i++; + } } else { return fail("invalid " + esc(str[i]) + " in number"); } @@ -880,20 +886,29 @@ struct JsonParser final { // Decimal part if (str[i] == '.') { i++; - if (!in_range(str[i], '0', '9')) return fail("at least one digit required in fractional part"); + if (!in_range(str[i], '0', '9')) { + return fail("at least one digit required in fractional part"); + } - while (in_range(str[i], '0', '9')) i++; + while (in_range(str[i], '0', '9')) { + i++; + } } // Exponent part if (str[i] == 'e' || str[i] == 'E') { i++; - if (str[i] == '+' || str[i] == '-') i++; - - if (!in_range(str[i], '0', '9')) return fail("at least one digit required in exponent"); + if (str[i] == '+' || str[i] == '-') { + i++; + } - while (in_range(str[i], '0', '9')) i++; + if (!in_range(str[i], '0', '9')) { + return fail("at least one digit required in exponent"); + } + while (in_range(str[i], '0', '9')) { + i++; + } } return std::strtod(str.c_str() + start_pos, nullptr); diff --git a/src/test/binary_relation_test.cpp b/src/test/binary_relation_test.cpp index 640d3f2aa72..1f1932ee1f4 100644 --- a/src/test/binary_relation_test.cpp +++ b/src/test/binary_relation_test.cpp @@ -96,10 +96,14 @@ TEST(EqRelTest, Clear) { TEST(EqRelTest, Duplicates) { EqRel br; // test inserting same pair - for (int i = 0; i < 10; ++i) br.insert(0, 0); + for (int i = 0; i < 10; ++i) { + br.insert(0, 0); + } EXPECT_EQ(br.size(), 1); - for (int i = 0; i < 10; ++i) EXPECT_TRUE(br.contains(0, 0)); + for (int i = 0; i < 10; ++i) { + EXPECT_TRUE(br.contains(0, 0)); + } EXPECT_EQ(br.size(), 1); EXPECT_FALSE(br.contains(1, 1)); @@ -538,8 +542,10 @@ TEST(EqRelTest, ParallelScaling) { const int N = 100000; std::vector data1; std::vector data2; - for (int i = 0; i < N; ++i) data1.push_back(i); - for (int i = 0; i < N; ++i) data2.push_back(i); + for (int i = 0; i < N; ++i) + data1.push_back(i); + for (int i = 0; i < N; ++i) + data2.push_back(i); std::random_device rd; std::mt19937 generator(rd()); diff --git a/src/test/brie_test.cpp b/src/test/brie_test.cpp index b61a1842e88..e663ec921e8 100644 --- a/src/test/brie_test.cpp +++ b/src/test/brie_test.cpp @@ -716,7 +716,9 @@ namespace { template int card(const range& r) { int res = 0; - for (auto it = r.begin(); it != r.end(); ++it) res++; + for (auto it = r.begin(); it != r.end(); ++it) { + res++; + } return res; } diff --git a/src/test/btree_set_test.cpp b/src/test/btree_set_test.cpp index c351f463b11..772f8da1a0a 100644 --- a/src/test/btree_set_test.cpp +++ b/src/test/btree_set_test.cpp @@ -543,7 +543,9 @@ TEST(BTreeSet, ChunkSplitStress) { // fill tree test_set t; - for (int x : data) t.insert(x); + for (int x : data) { + t.insert(x); + } for (int j = 1; j < 100; j++) { auto chunks = t.getChunks(j); diff --git a/src/test/eqrel_datastructure_test.cpp b/src/test/eqrel_datastructure_test.cpp index 155d4a60a56..cd5cb295fda 100644 --- a/src/test/eqrel_datastructure_test.cpp +++ b/src/test/eqrel_datastructure_test.cpp @@ -112,10 +112,14 @@ TEST(PiggyTest, Append) { // larger than BLOCKSIZE constexpr size_t N = 10000; - for (size_t i = 0; i < N; ++i) pl.append(2); + for (size_t i = 0; i < N; ++i) { + pl.append(2); + } EXPECT_EQ(pl.size(), N + 3); // make sure that all of our inserties are exacties - for (size_t i = 3; i < N + 3; ++i) EXPECT_EQ(pl.get(i), 2); + for (size_t i = 3; i < N + 3; ++i) { + EXPECT_EQ(pl.get(i), 2); + } } TEST(PiggyTest, ElementCreation) { @@ -311,7 +315,9 @@ TEST(DjTest, Clear) { EXPECT_EQ(ds.size(), 0); // get ready 2 double free y'all - for (size_t i = 0; i < 10000; ++i) ds.makeNode(); + for (size_t i = 0; i < 10000; ++i) { + ds.makeNode(); + } ds.unionNodes(1, 2); ds.clear(); ds.clear();