f34f5ef456
477bf4c958
@ -122,7 +122,7 @@ template<std::size_t size> class BoolVector {
/** @brief Set bit at given position */
BoolVector<size>& set(std::size_t i, bool value) {
_data[i/8] |= ((value & 0x01) << i%8);
_data[i/8] ^= (-Byte(value) ^ _data[i/8]) & (0x01 << i%8);
return *this;
}
@ -169,6 +169,9 @@ void BoolVectorTest::data() {
d.set(15, true);
CORRADE_VERIFY(d[15]);
CORRADE_COMPARE(d, BoolVector19(0x08, 0x83, 0x04));
d.set(15, false);
CORRADE_VERIFY(!d[15]);
CORRADE_COMPARE(d, BoolVector19(0x08, 0x03, 0x04));
void BoolVectorTest::compare() {