\r
// getters\r
inline ReferenceBlock* getReference() { return reference; }\r
-\r
+ inline QList<int> getProductionCounter() { return productionCounter; }\r
+ inline int getDelta() { return delta; }\r
+ \r
// setters\r
inline void setImplementation(BlockImplementation* impl) { implementation = impl; }\r
+ inline void setProductionCounter(QList<int> pattern) { productionCounter = pattern; }\r
+ inline void setDelta(int _delta) { delta = _delta; }\r
+ \r
\r
// testers\r
bool isFunctionalBlock();\r
void initProductionPattern(); // initialize a char** from patterns defined for each interface\r
void clearConsumptionPattern();\r
void clearProductionPattern();\r
+ bool computeOutputPattern(int nbExec = -1);\r
\r
private: \r
- // patterns\r
- bool computeOutputPattern(int nbExec = -1);\r
+ // patterns \r
bool isValidDataGroup(char** pattern, int nbPorts, int clock);\r
+ double evaluateExpression(const QString& expression, bool* ok);\r
+ QList<char> expandPattern(const QString& pattern, bool* ok);\r
+ QList<char> expandPatternRecur(const QString& pattern, int* offset, bool* ok);\r
/*!\r
* \brief combinePatterns\r
* \param patternSrc the pattern that must be combined with patternDest (patternDest = patternDest OR patternSrc) \r
*/\r
void combinePatterns(char** patternSrc, int srcCol, char** patternDest, int destCol, int nbCols, int nbPorts );\r
\r
+ QList<int> productionCounter; //! only usefull for output interfaces\r
+ int delta;\r
+ \r
char** consumptionPattern;\r
int nbConsumingPorts;\r
int lengthCP;\r