Пример #1
0
  void BitVector_Test::Test_bitVectorLong()
  {
    BitVector<256>* bits = setup();

    assert(bits->ReadLong(16, 64) == HexU64(0x13571112,0x13141234));
    assert(bits->ReadLong(0, 32) == HexU64(0x0,0x24681357));
    assert(bits->ReadLong(96, 32) == HexU64(0x0,0x9abcdef0));
    assert(bits->ReadLong(160, 36) == HexU64(0x8,0x76543214));

    bits->WriteLong(16,64,HexU64(0x13000012,0x13141234));
    assert(bits->ReadLong(16, 64) == HexU64(0x13000012,0x13141234));

    bits->WriteLong(24,16,0x5711L);
    assert(bits->ReadLong(16, 64) == HexU64(0x13571112,0x13141234));

    bits->WriteLong(192,64,0x0L);
    assert(bits->ReadLong(160, 64) == HexU64(0x87654321,0x00000000));

    assert(bits->ReadLong(192, 64) == 0x0L);
    bits->WriteLong(192,64,(u64) -1L);
    assert(bits->ReadLong(192, 64) == (u64) -1L);
  }