#ifndef pattern_h #define pattern_h #include "../Basics/basic.h" #include "../Matrices/Matrix.h" #include "main_def.h" class patterns { public: patterns (); patterns (int maxDgr); virtual ~patterns (); int nbPatterns () const; patterns& add (const int n, const Matrix& dblIndices, const int cover, const float weight=0.0); patterns& empty (); void first (); void next (); boolean eol (); int size () const; int coverage () const; float& weight (); int var (const int literalIndex) const; boolean bar (const int literalIndex) const; boolean fire (const Array& data) const; void delPattern (); void delPattern (int patIndex); void printPattern (ostream& s); void sort(int, int); // new for sorting the patterns Mario void do_sort(); // new for sorting the patterns Mario friend ostream& operator << (ostream& s, patterns& ps); friend void operator << (const char* fileName, const patterns& myslelf); friend void operator >> (const char* fileName, patterns& myself); private: int nbVar; int nbPat; int patCur; Matrix order; Matrix index; Matrix sizePat; Matrix coverPat; Matrix weightPat; }; #endif