#include "sys.h" #include "debug.h" #include "bitsetTest.h" template void bitsetTest::testInvertLevel3(void) { libecc::bitset res; res = ~get_x(OverLoadHook()); libecc::bitset tmp(get_x(OverLoadHook())); for (unsigned int d = 0; d < libecc::bitset::digits; ++d) tmp.rawdigit(d) ^= ~static_cast(0); tmp.rawdigit(libecc::bitset::digits - 1) &= libecc::bitset::valid_bits; CPPUNIT_ASSERT( res == tmp ); CPPUNIT_ASSERT( (res.rawdigit(libecc::bitset::digits - 1) & ~libecc::bitset::valid_bits) == 0 ); } template void bitsetTest::testInvertLevel2(void) { #ifndef FASTTEST testInvertLevel3(); testInvertLevel3(); testInvertLevel3(); testInvertLevel3(); testInvertLevel3(); testInvertLevel3(); #endif testInvertLevel3(); #ifndef FASTTEST testInvertLevel3(); #endif } void bitsetTest::testInvert(void) { #ifndef FASTTEST testInvertLevel2<13>(); testInvertLevel2<32>(); testInvertLevel2<45>(); testInvertLevel2<64>(); testInvertLevel2<77>(); testInvertLevel2<96>(); #endif testInvertLevel2<109>(); #ifndef FASTTEST testInvertLevel2<128>(); #endif }