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); } }