diff options
Diffstat (limited to 'content/math/transforms/bitwiseTransforms.cpp')
| -rw-r--r-- | content/math/transforms/bitwiseTransforms.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/content/math/transforms/bitwiseTransforms.cpp b/content/math/transforms/bitwiseTransforms.cpp index 17f3163..c0f6e50 100644 --- a/content/math/transforms/bitwiseTransforms.cpp +++ b/content/math/transforms/bitwiseTransforms.cpp @@ -3,9 +3,9 @@ void bitwiseConv(vector<ll>& a, bool inv = false) { for (int s = 1; s < n; s *= 2) { for (int i = 0; i < n; i += 2 * s) { for (int j = i; j < i + s; j++) { - ll& u = a[j], &v = a[j + s]; - tie(u, v) = inv ? pair(u - v, v) : pair(u + v, v); // AND - //tie(u, v) = inv ? pair(u, v - u) : pair(u, v + u); //OR + ll &u = a[j], &v = a[j + s]; + u = inv ? u - v : u + v; // AND + //v = inv ? v - u : v + u; // OR //tie(u, v) = pair(u + v, u - v); // XOR }}} //if (inv) for (ll& x : a) x /= n; // XOR (careful with MOD) |
