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

Private GIT Repository
started adding delta comput
[blast.git] / FunctionalBlock.h
index 9852eb7b33e25c89f94733316066b6e39cc3f1c1..f8989906f59a839561e09780eefcf7466441bd02 100644 (file)
@@ -11,6 +11,9 @@ class ReferenceBlock;
 class GroupBlock;\r
 #include "Exception.h"\r
 class Exception;\r
 class GroupBlock;\r
 #include "Exception.h"\r
 class Exception;\r
+class BlockImplementation;\r
+class ArithmeticEvaluator;\r
+    \r
 \r
 \r
 using namespace std;\r
 \r
 \r
 using namespace std;\r
@@ -29,6 +32,7 @@ public:
   inline ReferenceBlock* getReference() { return reference; }\r
 \r
   // setters\r
   inline ReferenceBlock* getReference() { return reference; }\r
 \r
   // setters\r
+  inline void setImplementation(BlockImplementation* impl) { implementation = impl; }\r
 \r
   // testers\r
   bool isFunctionalBlock();\r
 \r
   // testers\r
   bool isFunctionalBlock();\r
@@ -43,6 +47,11 @@ public:
   QString getReferenceHashMd5();\r
   \r
   // patterns\r
   QString getReferenceHashMd5();\r
   \r
   // patterns\r
+  bool createPatterns();\r
+  bool createDelta();\r
+  bool createConsumptionPattern(); // initialize a QList<char> for each interface from patterns defined in implementation\r
+  bool createProductionPattern(); // initialize a QList<char> for each interface from patterns defined in implementation\r
+  bool createProductionCounter(); // initialize a QList<int> from counter defined in implementation\r
   void initConsumptionPattern(); // initialize a char** from patterns defined for each interface\r
   void initProductionPattern(); // initialize a char** from patterns defined for each interface\r
   void clearConsumptionPattern();\r
   void initConsumptionPattern(); // initialize a char** from patterns defined for each interface\r
   void initProductionPattern(); // initialize a char** from patterns defined for each interface\r
   void clearConsumptionPattern();\r
@@ -50,7 +59,7 @@ public:
   \r
 private:  \r
   // patterns\r
   \r
 private:  \r
   // patterns\r
-  void computeOutputPattern(int nbExec = -1);\r
+  bool computeOutputPattern(int nbExec = -1);\r
   bool isValidDataGroup(char** pattern, int nbPorts, int clock);\r
   /*!\r
    * \brief combinePatterns\r
   bool isValidDataGroup(char** pattern, int nbPorts, int clock);\r
   /*!\r
    * \brief combinePatterns\r
@@ -71,8 +80,10 @@ private:
   char** productionPattern;\r
   int nbProducingPorts;\r
   int lengthPP;\r
   char** productionPattern;\r
   int nbProducingPorts;\r
   int lengthPP;\r
+  ArithmeticEvaluator* evaluator;\r
   \r
   ReferenceBlock* reference;\r
   \r
   ReferenceBlock* reference;\r
+  BlockImplementation* implementation;\r
 \r
 };\r
 \r
 \r
 };\r
 \r