Skip to content

Commit 5ae36e5

Browse files
committed
tests: use >> 1 instead of / 2 for non-negative halving
1 parent 1f362bf commit 5ae36e5

10 files changed

Lines changed: 25 additions & 23 deletions

File tree

tests/library_checker_aizu_tests/data_structures/bit_ordered_set.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ int main() {
2222
auto get_compressed_idx = [&](int val) -> int {
2323
int l = 0, r = sz(compress);
2424
while (l + 1 < r) {
25-
int m = (l + r) / 2;
25+
int m = (l + r) >> 1;
2626
if (compress[m] <= val) l = m;
2727
else r = m;
2828
}

tests/library_checker_aizu_tests/data_structures/kth_smallest_pst.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ int main() {
1414
for (int& val : arr) {
1515
int start = 0, end = sz(sorted);
1616
while (start + 1 < end) {
17-
int mid = (start + end) / 2;
17+
int mid = (start + end) >> 1;
1818
if (sorted[mid] <= val) start = mid;
1919
else end = mid;
2020
}

tests/library_checker_aizu_tests/data_structures/mode_query.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ int main() {
1414
for (int& val : a) {
1515
int start = 0, end = sz(comp);
1616
while (start + 1 < end) {
17-
int mid = (start + end) / 2;
17+
int mid = (start + end) >> 1;
1818
if (comp[mid] <= val) start = mid;
1919
else end = mid;
2020
}

tests/library_checker_aizu_tests/data_structures/pq_ds_undo_sliding_window.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ int main() {
2222
rep(i, 0, n) cin >> arr[i];
2323
stack_with_get_max stm;
2424
pq_updates<stack_with_get_max, int> pq(stm);
25-
int pri = (n - l) / 2;
25+
int pri = (n - l) >> 1;
2626
rep(i, 0, l) pq.push_update(arr[i], pri--);
2727
cout << pq.ds.get_max();
2828
rep(i, l, n) {

tests/library_checker_aizu_tests/graphs/two_edge_components.test.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ int main() {
2929
return sum + sz(neighbors);
3030
});
3131
int cnt_bridges = accumulate(all(is_br), 0);
32-
assert(sum_deg % 2 == 0 && sum_deg / 2 == cnt_bridges);
32+
assert(
33+
sum_deg % 2 == 0 && (sum_deg >> 1) == cnt_bridges);
3334
}
3435
DSU dsu(n);
3536
int num_sets_dsu = n;

tests/library_checker_aizu_tests/handmade_tests/seg_tree_midpoint.test.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ int main() {
2424
} else {
2525
assert(1 <= v && v < n);
2626
if (((tr - tl) & (tr - tl - 1)) == 0)
27-
assert(split(tl, tr) == (tl + tr) / 2);
27+
assert(split(tl, tr) == (tl + tr) >> 1);
2828
{
2929
int pow_2 = bit_floor(tr - tl + 0u);
30-
if (tl + pow_2 < tr - pow_2 / 2) {
30+
if (tl + pow_2 < tr - (pow_2 >> 1)) {
3131
assert(pow_2 != tr - tl);
32-
assert(pow_2 / 2 < tr - tl - pow_2 &&
32+
assert((pow_2 >> 1) < tr - tl - pow_2 &&
3333
tr - tl - pow_2 < pow_2);
3434
assert(
3535
pow_2 <= 2 * (tr - tl - pow_2) - 1 &&
@@ -38,18 +38,18 @@ int main() {
3838
lg(2 * ((tr - tl) - pow_2) - 1) &&
3939
lg(pow_2) == lg(2 * pow_2 - 1));
4040
} else if (pow_2 < tr - tl) {
41-
assert(pow_2 / 2 < tr - tl - pow_2 / 2 &&
42-
tr - tl - pow_2 / 2 <= pow_2);
43-
assert(
44-
pow_2 <= 2 * ((tr - tl) - pow_2 / 2) - 1 &&
45-
2 * ((tr - tl) - pow_2 / 2) - 1 <=
46-
2 * pow_2 - 1);
47-
assert(lg(2 * (tr - tl - pow_2 / 2) - 1) ==
41+
assert((pow_2 >> 1) < tr - tl - (pow_2 >> 1) &&
42+
tr - tl - (pow_2 >> 1) <= pow_2);
43+
assert(pow_2 <=
44+
2 * ((tr - tl) - (pow_2 >> 1)) - 1 &&
45+
2 * ((tr - tl) - (pow_2 >> 1)) - 1 <=
46+
2 * pow_2 - 1);
47+
assert(lg(2 * (tr - tl - (pow_2 >> 1)) - 1) ==
4848
lg(2 * pow_2 - 1));
49-
assert(lg(2 * ((tr - tl) - pow_2 / 2) - 1) ==
50-
lg(pow_2));
49+
assert(lg(2 * ((tr - tl) - (pow_2 >> 1)) -
50+
1) == lg(pow_2));
5151
assert(
52-
lg(pow_2) == 1 + lg(2 * (pow_2 / 2) - 1));
52+
lg(pow_2) == 1 + lg(2 * (pow_2 >> 1) - 1));
5353
}
5454
}
5555
int tm = split(tl, tr);

tests/library_checker_aizu_tests/math/count_paths.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#undef modpow
1414
ll modpow(ll b, ll e) {
1515
ll res = 1;
16-
for (; e; b = b * b % 998'244'353, e /= 2)
16+
for (; e; b = b * b % 998'244'353, e >>= 1)
1717
if (e & 1) res = res * b % 998'244'353;
1818
return res;
1919
}

tests/library_checker_aizu_tests/mono_st_asserts.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ void mono_st_asserts(const vi& a) {
5757
assert(j <= r[i]);
5858
assert(cmp(a[i], a[j]));
5959
assert(cmp(a[i], a[r[j] - 1]));
60-
assert(cmp(a[i], a[j + (r[j] - j) / 2]));
60+
assert(cmp(a[i], a[j + ((r[j] - j) >> 1)]));
6161
iterations++;
6262
}
6363
}

tests/library_checker_aizu_tests/strings/lcp_array.test.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ int main() {
2525
assert(sa_inv == sa_inv1);
2626
assert(lcp == lcp1);
2727
assert(sz(lcp) == n - 1);
28-
cout << 1LL * n * (n + 1) / 2 - accumulate(all(lcp), 0LL)
29-
<< '\n';
28+
cout
29+
<< (1LL * n * (n + 1) >> 1) - accumulate(all(lcp), 0LL)
30+
<< '\n';
3031
}

tests/library_checker_aizu_tests/strings/sa_sort_pairs.test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ int main() {
1414
for (int& x : arr) {
1515
int l = -1, r = int(sz(compress));
1616
while (r - l > 1) {
17-
int mi = l + (r - l) / 2;
17+
int mi = l + ((r - l) >> 1);
1818
if (compress[mi] >= x) r = mi;
1919
else l = mi;
2020
}

0 commit comments

Comments
 (0)