From a2fddd00223e29b425ef1b6ac092fa86512db3ab Mon Sep 17 00:00:00 2001
From: Franck Dary <franck.dary@lis-lab.fr>
Date: Tue, 16 Jun 2020 12:24:14 +0200
Subject: [PATCH] Defaulting staticCost to dynamicCost

---
 reading_machine/src/Transition.cpp | 55 +++++++++++++++++++++++-------
 1 file changed, 42 insertions(+), 13 deletions(-)

diff --git a/reading_machine/src/Transition.cpp b/reading_machine/src/Transition.cpp
index 3a71741..4543513 100644
--- a/reading_machine/src/Transition.cpp
+++ b/reading_machine/src/Transition.cpp
@@ -144,6 +144,8 @@ void Transition::initWrite(std::string colName, std::string object, std::string
 
     return 1;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initAdd(std::string colName, std::string object, std::string index, std::string value)
@@ -165,6 +167,8 @@ void Transition::initAdd(std::string colName, std::string object, std::string in
 
     return 1;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initNothing()
@@ -173,6 +177,8 @@ void Transition::initNothing()
   {
     return 0;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initIgnoreChar()
@@ -183,6 +189,8 @@ void Transition::initIgnoreChar()
   {
     return 0;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initEndWord()
@@ -195,6 +203,8 @@ void Transition::initEndWord()
       return 0;
     return 1;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initAddCharToWord()
@@ -221,6 +231,8 @@ void Transition::initAddCharToWord()
 
     return 0;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initSplitWord(std::vector<std::string> words)
@@ -249,6 +261,8 @@ void Transition::initSplitWord(std::vector<std::string> words)
 
     return cost;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initSplit(int index)
@@ -264,6 +278,8 @@ void Transition::initSplit(int index)
 
     return transitions[index]->getCostDynamic(config);
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initEagerShift()
@@ -294,6 +310,8 @@ void Transition::initStandardShift()
   {
     return 0;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initEagerLeft_rel(std::string label)
@@ -355,6 +373,8 @@ void Transition::initStandardLeft_rel(std::string label)
 
     return cost;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initEagerLeft()
@@ -375,6 +395,8 @@ void Transition::initEagerLeft()
 
     return cost;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initEagerRight_rel(std::string label)
@@ -438,6 +460,8 @@ void Transition::initStandardRight_rel(std::string label)
 
     return cost;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initEagerRight()
@@ -460,6 +484,8 @@ void Transition::initEagerRight()
 
     return cost;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initReduce_strict()
@@ -480,19 +506,6 @@ void Transition::initReduce_strict()
     return cost;
   };
 
-  costDynamic = [](const Config & config)
-  {
-    auto stackIndex = config.getStack(0);
-    auto wordIndex = config.getWordIndex();
-
-    if (!config.isToken(stackIndex))
-      return 0;
-
-    int cost = getNbLinkedWithDeps(wordIndex, getLastIndexOfSentence(wordIndex, config), Config::Object::Buffer, stackIndex, config);
-
-    return cost;
-  };
-
   costStatic = costDynamic;
 }
 
@@ -512,6 +525,8 @@ void Transition::initReduce_relaxed()
 
     return cost;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initEOS(int bufferIndex)
@@ -529,6 +544,8 @@ void Transition::initEOS(int bufferIndex)
 
     return 0;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initDeprel(std::string label)
@@ -539,6 +556,8 @@ void Transition::initDeprel(std::string label)
   {
     return config.getConst(Config::deprelColName, config.getLastAttached(), 0) == label ? 0 : 1;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initTransformSuffix(std::string fromCol, std::string fromObj, std::string fromIndex, std::string toCol, std::string toObj, std::string toIndex, std::string rule)
@@ -576,6 +595,8 @@ void Transition::initTransformSuffix(std::string fromCol, std::string fromObj, s
 
     return 1;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initUppercase(std::string col, std::string obj, std::string index)
@@ -598,6 +619,8 @@ void Transition::initUppercase(std::string col, std::string obj, std::string ind
 
     return 1;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initUppercaseIndex(std::string col, std::string obj, std::string index, std::string inIndex)
@@ -623,6 +646,8 @@ void Transition::initUppercaseIndex(std::string col, std::string obj, std::strin
 
     return 1;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initLowercase(std::string col, std::string obj, std::string index)
@@ -645,6 +670,8 @@ void Transition::initLowercase(std::string col, std::string obj, std::string ind
 
     return 1;
   };
+
+  costStatic = costDynamic;
 }
 
 void Transition::initLowercaseIndex(std::string col, std::string obj, std::string index, std::string inIndex)
@@ -670,6 +697,8 @@ void Transition::initLowercaseIndex(std::string col, std::string obj, std::strin
 
     return 1;
   };
+
+  costStatic = costDynamic;
 }
 
 int Transition::getNbLinkedWith(int firstIndex, int lastIndex, Config::Object object, int withIndex, const Config & config)
-- 
GitLab