We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 5501e08 commit d50c874Copy full SHA for d50c874
atcoder/internal_math.hpp
@@ -44,8 +44,7 @@ struct barrett {
44
// -> im * m = 2^64 + r (0 <= r < m)
45
// let z = a*b = c*m + d (0 <= c, d < m)
46
// a*b * im = (c*m + d) * im = c*(im*m) + d*im = c*2^64 + c*r + d*im
47
- // c*r + d*im < m * m + m * im < m * m + 2^64 + m <= 2^64 + m * (m + 1)
48
- // < 2^64 * 2
+ // c*r + d*im < m * m + m * im < m * m + 2^64 + m <= 2^64 + m * (m + 1) < 2^64 * 2
49
// ((ab * im) >> 64) == c or c + 1
50
unsigned long long z = a;
51
z *= b;
0 commit comments