BitField StateConstraints::maxTrap(const PetriNet& net, BitField places, const MarkVal* resultMarking) const{ BitField next(places.size()); BitField prev(places); do{ prev = places; for(size_t i = 0; i < places.size(); i++) next.set(i, isInMaxTrap(net, i, places, resultMarking)); places = next; }while(prev != next); return places; }
void TestBitField3D<T>::testDefaultConstructor() { DEFINE_TYPEDEFS; BitField bf; CPPUNIT_ASSERT(bf.size() == 0); CPPUNIT_ASSERT(bf.capacity() == 0); CPPUNIT_ASSERT(bf.toString() == ""); }
bool StateConstraints::isMarked(const BitField& places, const MarkVal* marking) const{ for(size_t p = 0; p < places.size(); p++) if(places.test(p) && marking[p] > 0) return true; return false; }