| 808 | } |
| 809 | |
| 810 | long long int getValueOfTargets(long long int ind, int* targs, int numTargs) { |
| 811 | DEMAND( ind >= 0 ); |
| 812 | |
| 813 | long long int val = 0; |
| 814 | |
| 815 | for (int t=0; t<numTargs; t++) |
| 816 | val += ((ind >> targs[t]) & 1) * (1LL << t); |
| 817 | |
| 818 | return val; |
| 819 | } |
| 820 | |
| 821 | long long int setBit(long long int num, int bitInd, int bitVal) { |
| 822 | DEMAND( (bitVal == 0 || bitVal == 1) ); |