Skip to content

Commit 53702c3

Browse files
committed
Factor out mod division
1 parent 3598f96 commit 53702c3

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

cp-algo/number_theory/dirichlet.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,14 @@ namespace cp_algo::math {
7474
auto m = size(G);
7575
std::decay_t<decltype(G)> F(m);
7676
std::vector<bool> assigned(m);
77+
auto Gi = G[1].inv();
7778
exec_on_blocks(n, [&](interval x, interval y, interval z) {
78-
auto sum_y = G[y.hi] - G[y.lo - 1];
7979
if (!assigned[x.hi]) {
80-
F[x.hi] = F[x.lo - 1] + H[z.lo] / sum_y;
80+
F[x.hi] = F[x.lo - 1] + H[z.lo] * Gi;
8181
assigned[x.hi] = true;
8282
}
8383
auto sum_x = F[x.hi] - F[x.lo - 1];
84+
auto sum_y = G[y.hi] - G[y.lo - 1];
8485
auto t = sum_y * sum_x;
8586
H[z.lo] -= t;
8687
H[z.hi + 1] += t;

0 commit comments

Comments
 (0)