#include "sys.h" #include "debug.h" #include "bitsetTest.h" template void bitsetTest::testXorAssignLevel3(void) { libecc::bitset tmp1 = get_x(OverLoadHook()); tmp1 ^= get_y(OverLoadHook()); libecc::bitset res = get_x(OverLoadHook()); res |= get_y(OverLoadHook()); libecc::bitset<128> tmp2 = get_x(OverLoadHook()); tmp2 &= get_y(OverLoadHook()); tmp2 = ~tmp2; res &= tmp2; CPPUNIT_ASSERT( tmp1 == res ); CPPUNIT_ASSERT( (tmp1.digit(libecc::bitset::digits - 1) & ~libecc::bitset::valid_bits) == 0 ); } template void bitsetTest::testXorAssignLevel2(void) { #ifndef FASTTEST testXorAssignLevel3(); testXorAssignLevel3(); testXorAssignLevel3(); testXorAssignLevel3(); testXorAssignLevel3(); testXorAssignLevel3(); #endif testXorAssignLevel3(); #ifndef FASTTEST testXorAssignLevel3(); #endif } void bitsetTest::testXorAssign(void) { #ifndef FASTTEST testXorAssignLevel2<13>(); testXorAssignLevel2<32>(); testXorAssignLevel2<45>(); testXorAssignLevel2<64>(); testXorAssignLevel2<77>(); testXorAssignLevel2<96>(); #endif testXorAssignLevel2<109>(); #ifndef FASTTEST testXorAssignLevel2<128>(); #endif }