]> AND Private Git Repository - blast.git/blobdiff - FunctionalBlock.h
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
pattern comput done
[blast.git] / FunctionalBlock.h
index f8989906f59a839561e09780eefcf7466441bd02..b6ac65f1ee869f3f23c1ecec6ff68bd95b611895 100644 (file)
@@ -30,9 +30,14 @@ public:
 \r
   // getters\r
   inline ReferenceBlock* getReference() { return reference; }\r
 \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
   // 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
 \r
   // testers\r
   bool isFunctionalBlock();\r
@@ -56,11 +61,14 @@ public:
   void initProductionPattern(); // initialize a char** from patterns defined for each interface\r
   void clearConsumptionPattern();\r
   void clearProductionPattern();\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
   \r
 private:  \r
-  // patterns\r
-  bool computeOutputPattern(int nbExec = -1);\r
+  // patterns  \r
   bool isValidDataGroup(char** pattern, int nbPorts, int clock);\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
    * \brief combinePatterns\r
    * \param patternSrc the pattern that must be combined with patternDest (patternDest = patternDest OR patternSrc)  \r
@@ -74,6 +82,9 @@ private:
    */\r
   void combinePatterns(char** patternSrc, int srcCol, char** patternDest, int destCol, int nbCols, int nbPorts );\r
 \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
   char** consumptionPattern;\r
   int nbConsumingPorts;\r
   int lengthCP;\r