Exemple #1
0
  void BitVector_Test::Test_bitVectorRead()
  {
    BitVector<256>* bits = setup();

    assert(bits->Read(16, 32) == 0x13571112);
    assert(bits->Read(64, 32) == 0x12345678);
    assert(bits->Read(56, 16) == 0x00001412);

    {
      BitVector<64> foo;
      assert(foo.Read(64-31, 31)==0);
    }


    {
      BV96 foo;

      foo = bits->ReadBig(0,96);
      assert(foo.Read(0, 32) == 0x24681357);
      assert(foo.Read(32, 32) == 0x11121314);
      assert(foo.Read(64, 32) == 0x12345678);

      foo = bits->ReadBig(160,96);
      assert(foo.Read(0, 32) == 0x87654321);
      assert(foo.Read(32, 32) == 0x44332211);
      assert(foo.Read(64, 32) == 0xfedbca09);

    }

    {
      BV96 foo;

      foo = bits->ReadBig(0,32);
      assert(foo.Read(0, 32) == 0x24681357);
      assert(foo.Read(32, 32) == 0);
      assert(foo.Read(64, 32) == 0);

      foo = bits->ReadBig(160,64);
      assert(foo.Read(0, 32) == 0x87654321);
      assert(foo.Read(32, 32) == 0x44332211);
      assert(foo.Read(64, 32) == 0);

    }

  }