Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- bool get(int v, int i) {
- return (v & (1 << i));
- }
- struct bin_vec {
- int val = 0;
- int operator [] (int i) {
- return get(val, i);
- }
- int get_weight() {
- int w = 0;
- for(int i = 0; i < 7; i++)
- w += get(val, i);
- return w;
- }
- };
- vector<int> val;
- int process(bin_vec x) {
- int y = 0;
- y ^= (1 << 6) & (x[1] & x[2] ^ x[0] & x[1] & x[3] ^ x[0] & x[4] ^ x[1] & x[5] ^ x[3] & x[5] ^ x[6] ^ x[0] & x[1] & x[6] ^ x[2] & x[3] & x[6] ^ x[1] & x[4] & x[6] ^ x[0] & x[5] & x[6]);
- y ^= (1 << 5) & (x[2] ^ x[0] & x[2] ^ x[0] & x[3] ^ x[1] & x[2] & x[3] ^ x[0] & x[2] & x[4] ^ x[0] & x[5] ^ x[2] & x[5] ^ x[4] & x[5] ^ x[1] & x[6] ^ x[1] & x[2] & x[6] ^ x[0] & x[3] & x[6] ^ x[3] & x[4] & x[6] ^ x[2] & x[5] & x[6] ^ 1);
- y ^= (1 << 4) & (x[0] & x[2] ^ x[3] ^ x[1] & x[3] ^ x[1] & x[4] ^ x[0] & x[1] & x[4] ^ x[2] & x[3] & x[4] ^ x[0] & x[5] ^ x[1] & x[3] & x[5] ^ x[0] & x[4] & x[5] ^ x[1] & x[6] ^ x[3] & x[6] ^ x[0] & x[3] & x[6] ^ x[5] & x[6] ^ 1);
- y ^= (1 << 3) & (x[1] ^ x[0] & x[1] & x[2] ^ x[1] & x[4] ^ x[3] & x[4] ^ x[0] & x[5] ^ x[0] & x[1] & x[5] ^ x[2] & x[3] & x[5] ^ x[1] & x[4] & x[5] ^ x[2] & x[6] ^ x[1] & x[3] & x[6]);
- y ^= (1 << 2) & (x[0] & x[1] ^ x[0] & x[4] ^ x[2] & x[4] ^ x[5] ^ x[1] & x[2] & x[5] ^ x[0] & x[3] & x[5] ^ x[6] ^ x[0] & x[2] ^ x[6] ^ x[3] & x[6] ^ x[4] & x[5] & x[6] ^ 1);
- y ^= (1 << 1) & (x[0] & x[1] ^ x[0] & x[4] ^ x[2] & x[4] ^ x[5] ^ x[1] & x[2] & x[5] ^ x[0] & x[3] & x[5] ^ x[6] ^ x[0] & x[2] & x[6] ^ x[3] & x[6] ^ x[4] & x[5] & x[6] ^ 1);
- y ^= (1 << 0) & (x[1] & x[3] ^ x[4] ^ x[0] & x[1] & x[4] ^ x[5] ^ x[2] & x[5] ^ x[3] & x[4] & x[5] ^ x[6] ^ x[0] & x[6] ^ x[1] & x[6] ^ x[3] & x[6] ^ x[2] ^ x[4] & x[6] ^ x[1] & x[5] & x[6] ^ x[4] & x[5] & x[6]);
- return y;
- }
- int main()
- {
- for (int i = 0; i < (1 << 7); i++) {
- val.push_back(process(i));
- }
- for (int v: val)
- cout << v << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement