diff --git a/io/bitreader.h b/io/bitreader.h index 7990974..b8518bc 100644 --- a/io/bitreader.h +++ b/io/bitreader.h @@ -76,7 +76,7 @@ template intType BitReader::readBits(byte bitCount) m_bitsAvail = 8; } readAtOnce = std::min(bitCount, m_bitsAvail); - val = (val << readAtOnce) | (((*m_buffer) >> (m_bitsAvail -= readAtOnce)) & (0xFF >> (0x08 - readAtOnce))); + val = static_cast((val << readAtOnce) | (((*m_buffer) >> (m_bitsAvail -= readAtOnce)) & (0xFF >> (0x08 - readAtOnce)))); } return val; } diff --git a/tests/iotests.cpp b/tests/iotests.cpp index cbad8c8..24f36b9 100644 --- a/tests/iotests.cpp +++ b/tests/iotests.cpp @@ -257,15 +257,15 @@ void IoTests::testBitReader() BitReader reader(reinterpret_cast(testData), sizeof(testData)); CPPUNIT_ASSERT(reader.readBit() == 1); reader.skipBits(6); - CPPUNIT_ASSERT(reader.showBits(2) == 3); - CPPUNIT_ASSERT(reader.readBits(2) == 3); - CPPUNIT_ASSERT(reader.readBits(32) == (0x103C4428 << 1)); + CPPUNIT_ASSERT_EQUAL(static_cast(3), reader.showBits(2)); + CPPUNIT_ASSERT_EQUAL(static_cast(3), reader.readBits(2)); + CPPUNIT_ASSERT_EQUAL(static_cast(0x103C4428 << 1), reader.readBits(32)); reader.align(); - CPPUNIT_ASSERT(reader.readBits(8) == 0x44); - CPPUNIT_ASSERT(reader.readUnsignedExpGolombCodedBits() == 7); - CPPUNIT_ASSERT(reader.readSignedExpGolombCodedBits() == 4); - CPPUNIT_ASSERT(reader.readBit() == 0); - CPPUNIT_ASSERT(reader.readBit() == 0); + CPPUNIT_ASSERT_EQUAL(static_cast(0x44), reader.readBits(8)); + CPPUNIT_ASSERT_EQUAL(static_cast(7), reader.readUnsignedExpGolombCodedBits()); + CPPUNIT_ASSERT_EQUAL(static_cast(4), reader.readSignedExpGolombCodedBits()); + CPPUNIT_ASSERT_EQUAL(static_cast(0), reader.readBit()); + CPPUNIT_ASSERT_EQUAL(static_cast(0), reader.readBit()); reader.skipBits(8 + 4); CPPUNIT_ASSERT_EQUAL(4_st, reader.bitsAvailable()); CPPUNIT_ASSERT_EQUAL(static_cast(0xA), reader.readBits(4));