示例#1
0
bool test_long_write_read(unsigned long long value, int bits, BitString& bitString)
{
    bool result = true;
    bitString.write_bits_from_long(bits, value);
    bitString.rewind(bits);
    unsigned long read_value = bitString.read_bits_as_long(bits);
    
    unsigned long xored = read_value ^ value;
   
    if(value != read_value) {
        cout << "\nFailed write_bits_from_long with value " << value << 
        " and read_value " << 
              read_value << " bits " << bits << " diff " << xored << endl;
         bitString.write_bits_from_long(64, read_value);
    
         result = false;
    }
    
    return result;
}