Skip to content

Commit f1f4f01

Browse files
cameroncusterCameron Custer
andauthored
standardize tests: template macros, c++20 ranges, naming conventions (#226)
* standardize tests: template macros, c++20 ranges, naming conventions * keep iterator-form unique/remove_if in tests (ranges:: form is not a strict win) * Revert "keep iterator-form unique/remove_if in tests (ranges:: form is not a strict win)" This reverts commit 04f35f6. * use <bit> instead of __lg in seg_tree_midpoint test * use ranges::count in lcs_dp test * brace rep-if-else bodies to fix -Wmisleading-indentation * suppress cppcheck mismatchingContainerExpression false positives on ranges::unique/remove_if * revert ranges::unique/remove_if to iterator form; drop cppcheck suppressions --------- Co-authored-by: Cameron Custer <cam@augmentcode.com>
1 parent e60f0b1 commit f1f4f01

142 files changed

Lines changed: 672 additions & 733 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

tests/library_checker_aizu_tests/cd_asserts.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#pragma once
22
#include "../../library/trees/centroid_decomp.hpp"
3-
void cd_asserts(vector<vector<int>> adj) {
4-
vector<int> decomp_size(sz(adj), -1);
5-
vector<int> naive_par_decomp(sz(adj), -1);
3+
void cd_asserts(vector<vi> adj) {
4+
vi decomp_size(sz(adj), -1);
5+
vi naive_par_decomp(sz(adj), -1);
66
vi par = cd(adj, [&](int cent) -> void {
77
assert(decomp_size[cent] == -1);
88
auto dfs = [&](auto&& self, int u, int p) -> int {

tests/library_checker_aizu_tests/compress_tree_asserts.hpp

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,22 @@
55
#undef RMQ
66
#undef LCA
77
#include "../../library/contest/random.hpp"
8-
void compress_tree_asserts(vector<vector<int>> adj,
9-
LCA& lc_rm) {
8+
void compress_tree_asserts(vector<vi> adj, LCA& lc_rm) {
109
int n = sz(adj);
11-
vector<bool> used(n);
10+
vector<bool> vis(n);
1211
KACTL_LCA kactl_lca(adj);
1312
{
1413
auto [parent, to_node] = lc_rm.compress_tree({});
1514
assert(empty(parent) && empty(to_node));
1615
}
17-
for (int tests = 0; tests < 10; tests++) {
18-
vector<int> subset;
16+
rep(tests, 0, 10) {
17+
vi subset;
1918
{
2019
int subset_size = rnd(1, min(n, 10));
2120
while (subset_size--) {
2221
int u = rnd(0, n - 1);
23-
if (!used[u]) {
24-
used[u] = 1;
22+
if (!vis[u]) {
23+
vis[u] = 1;
2524
subset.push_back(u);
2625
}
2726
}
@@ -30,13 +29,13 @@ void compress_tree_asserts(vector<vector<int>> adj,
3029
auto [lc_rm_parent, lc_rm_to_node] =
3130
lc_rm.compress_tree(subset);
3231
assert(sz(lc_rm_parent) == sz(kactl_res));
33-
for (int i = 0; i < sz(lc_rm_parent); i++) {
32+
rep(i, 0, sz(lc_rm_parent)) {
3433
assert(lc_rm_to_node[i] == kactl_res[i].second);
3534
assert(lc_rm_parent[i] < i);
3635
if (i > 0)
3736
assert(lc_rm_parent[i] == kactl_res[i].first);
3837
else assert(lc_rm_parent[i] == -1);
3938
}
40-
for (int u : subset) used[u] = 0;
39+
for (int u : subset) vis[u] = 0;
4140
}
4241
}

tests/library_checker_aizu_tests/convolution/gcd_convolution.test.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
"https://judge.yosupo.jp/problem/gcd_convolution"
33
#include "../template.hpp"
44
#include "../../../library/convolution/gcd_convolution.hpp"
5-
istream& operator>>(istream& is, vector<int>& v) {
6-
for (int i = 1; i < sz(v); i++) is >> v[i];
5+
istream& operator>>(istream& is, vi& v) {
6+
rep(i, 1, sz(v)) is >> v[i];
77
return is;
88
}
99
int main() {
1010
cin.tie(0)->sync_with_stdio(0);
1111
int n;
1212
cin >> n;
13-
vector<int> a(n + 1), b(n + 1);
13+
vi a(n + 1), b(n + 1);
1414
cin >> a >> b;
1515
auto c = gcd_convolution(a, b);
1616
for (int i = 1; i <= n; i++) cout << c[i] << ' ';

tests/library_checker_aizu_tests/convolution/lcm_convolution.test.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
"https://judge.yosupo.jp/problem/lcm_convolution"
33
#include "../template.hpp"
44
#include "../../../library/convolution/lcm_convolution.hpp"
5-
istream& operator>>(istream& is, vector<int>& v) {
6-
for (int i = 1; i < sz(v); i++) is >> v[i];
5+
istream& operator>>(istream& is, vi& v) {
6+
rep(i, 1, sz(v)) is >> v[i];
77
return is;
88
}
99
int main() {
1010
cin.tie(0)->sync_with_stdio(0);
1111
int n;
1212
cin >> n;
13-
vector<int> a(n + 1), b(n + 1);
13+
vi a(n + 1), b(n + 1);
1414
cin >> a >> b;
1515
auto c = lcm_convolution(a, b);
1616
for (int i = 1; i <= n; i++) cout << c[i] << ' ';

tests/library_checker_aizu_tests/convolution/min_plus_convolution.test.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
"https://judge.yosupo.jp/problem/min_plus_convolution_convex_arbitrary"
33
#include "../template.hpp"
44
#include "../../../library/convolution/min_plus_convolution_convex_and_arbitrary.hpp"
5-
istream& operator>>(istream& is, vector<int>& v) {
5+
istream& operator>>(istream& is, vi& v) {
66
for (int& e : v) is >> e;
77
return is;
88
}
99
int main() {
1010
cin.tie(0)->sync_with_stdio(0);
1111
int n, m;
1212
cin >> n >> m;
13-
vector<int> convex(n), arbitrary(m);
13+
vi convex(n), arbitrary(m);
1414
cin >> convex >> arbitrary;
1515
auto res = min_plus(convex, arbitrary);
1616
for (int r : res) cout << r << ' ';

tests/library_checker_aizu_tests/convolution/xor_convolution.test.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"https://judge.yosupo.jp/problem/bitwise_xor_convolution"
33
#include "../template.hpp"
44
#include "../../../library/convolution/xor_convolution.hpp"
5-
istream& operator>>(istream& is, vector<int>& v) {
6-
for (int i = 0; i < sz(v); i++) is >> v[i];
5+
istream& operator>>(istream& is, vi& v) {
6+
rep(i, 0, sz(v)) is >> v[i];
77
return is;
88
}
99
int main() {
@@ -13,7 +13,7 @@ int main() {
1313
vi a(1 << n), b(1 << n);
1414
cin >> a >> b;
1515
vi c = xor_conv(a, b);
16-
for (int i = 0; i < (1 << n); i++) cout << c[i] << ' ';
16+
rep(i, 0, (1 << n)) cout << c[i] << ' ';
1717
cout << '\n';
1818
return 0;
1919
}

tests/library_checker_aizu_tests/data_structures/binary_search_example.test.cpp

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,10 @@ int main() {
1010
}
1111
int n, s;
1212
cin >> n >> s;
13-
vector<int> a(n);
14-
for (int i = 0; i < n; i++) cin >> a[i];
15-
vector<int> pref_sum(a);
16-
for (int i = 1; i < n; i++)
17-
pref_sum[i] += pref_sum[i - 1];
13+
vi a(n);
14+
rep(i, 0, n) cin >> a[i];
15+
vi pref_sum(a);
16+
rep(i, 1, n) pref_sum[i] += pref_sum[i - 1];
1817
auto sum = [&](int l, int r) -> int { //[l,r]
1918
int res = pref_sum[r];
2019
if (l) res -= pref_sum[l - 1];
@@ -25,11 +24,11 @@ int main() {
2524
return 0;
2625
}
2726
int res = n;
28-
for (int i = 0; i < n; i++) {
27+
rep(i, 0, n) {
2928
if (sum(i, n - 1) < s) break;
30-
int curr = *ranges::partition_point(views::iota(i, n),
29+
int cur = *ranges::partition_point(views::iota(i, n),
3130
[&](int x) -> bool { return sum(i, x) < s; });
32-
res = min(res, curr - i + 1);
31+
res = min(res, cur - i + 1);
3332
}
3433
cout << res << '\n';
3534
return 0;

tests/library_checker_aizu_tests/data_structures/bit.test.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ int main() {
1010
int n, q;
1111
cin >> n >> q;
1212
vector<ll> arr(n);
13-
vector<int> arr_int(n);
14-
for (int i = 0; i < n; i++) {
13+
vi arr_int(n);
14+
rep(i, 0, n) {
1515
cin >> arr[i];
1616
arr_int[i] = int(arr[i]);
1717
}
@@ -21,7 +21,7 @@ int main() {
2121
vector<ll> suf_sum(n);
2222
partial_sum(rbegin(arr), rend(arr), rbegin(suf_sum));
2323
bit_rupq bit_i(suf_sum);
24-
for (int i = 0; i < n; i++) {
24+
rep(i, 0, n) {
2525
assert(arr[i] == bit.query(i, i + 1));
2626
assert(bit_i.get_index(i) == bit.query(i, n));
2727
assert(bit_i.get_index(i) == suf_sum[i]);

tests/library_checker_aizu_tests/data_structures/bit_inc.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ int main() {
77
int n, q;
88
cin >> n >> q;
99
BIT bit(n);
10-
for (int i = 0; i < n; i++) {
10+
rep(i, 0, n) {
1111
int val;
1212
cin >> val;
1313
bit.update(i, val);

tests/library_checker_aizu_tests/data_structures/bit_inc_walk.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ int main() {
88
string s;
99
cin >> n >> q >> s;
1010
vector<ll> init(n);
11-
for (int i = 0; i < n; i++) init[i] = s[i] - '0';
11+
rep(i, 0, n) init[i] = s[i] - '0';
1212
BIT bit(init);
1313
while (q--) {
1414
int type, k;

0 commit comments

Comments
 (0)