| 960 | } |
| 961 | |
| 962 | size_t extract_bit(size_t rawnumber, vector<size_t> bits) { |
| 963 | size_t extracted_number = 0; |
| 964 | for (int i = 0; i < bits.size(); ++i) { |
| 965 | int bit = bits[i]; |
| 966 | int digit = (rawnumber >> bit) % 2; |
| 967 | extracted_number += (1ull << i)*digit; |
| 968 | } |
| 969 | return extracted_number; |
| 970 | } |
| 971 | |
| 972 | size_t reconstruct_number(size_t extracted_number, vector<size_t> bits) { |
| 973 | size_t raw_number = 0; |
no test coverage detected