121      std::vector<std::tuple<double, int, int, int, int>> &coefs,
 
  123      std::vector<std::vector<std::tuple<ftm::idNode, ftm::idNode, double>>>
 
  129      for(
unsigned int i = 0; i < mTrees.size(); ++i) {
 
  130        preprocessingPipeline<dataType>(
 
  134      printTreesStats<dataType>(mTrees);
 
  140      while(cpt < coefs.size()) {
 
  141        while(cpt < coefs.size() and std::get<2>(coefs[cpt]) <= index) {
 
  142          double const alpha = std::get<0>(coefs[cpt]);
 
  143          int const index1 = std::get<1>(coefs[cpt]);
 
  144          int const index2 = std::get<2>(coefs[cpt]);
 
  146            mTrees[index1], mTrees[index2], alpha);
 
  147          allMT.push_back(tree);
 
  149            = computeDistance<dataType>(mTrees[index1], tree);
 
  151            = computeDistance<dataType>(tree, mTrees[index2]);
 
  154        allMT.push_back(mTrees[index]);
 
  158      allMatching = std::vector<
 
  159        std::vector<std::tuple<ftm::idNode, ftm::idNode, double>>>(allMT.size()
 
  162      for(
unsigned int i = 0; i < allMT.size() - 1; ++i)
 
  164          = computeDistance<dataType>(allMT[i], allMT[i + 1], allMatching[i]);
 
  167      for(
unsigned int i = 0; i < allMT.size(); ++i)
 
  168        postprocessingPipeline<dataType>(&(allMT[i].tree));
 
  169      for(
unsigned int i = 0; i < mTrees.size(); ++i)
 
  170        postprocessingPipeline<dataType>(&(mTrees[i].tree));
 
  173      std::stringstream ss, ss2, ss3;
 
  174      ss << 
"input size    = " << mTrees.size();
 
  176      ss2 << 
"output size   = " << allMT.size();
 
  178      ss3 << 
"reconstructed : " << allMT.size() - mTrees.size();