@@ -764,17 +764,17 @@ ExprBaseType BuiltInFunctions::matchTearingEvaluator(const EBTList& args)
764764ExprBaseType BuiltInFunctions::tearingTSEvaluator (const EBTList& args)
765765{
766766 Util::ERROR_UNLESS (args.size () == 1
767- , " topoSortEvaluator : wrong number of arguments\n " );
767+ , " tearingTSEvaluator : wrong number of arguments\n " );
768768
769769 LIB ::Tearing tearing_impl = LIB ::TEARING_FACT .createTearingAlgorithm ();
770770 LIB ::TopoSort ts_impl = LIB ::TS_FACT .createTSAlgorithm ();
771771 const auto ts_evaluator = Overload {
772772 [&tearing_impl, &ts_impl](LIB ::DSBG a) {
773- LIB ::DSBG tearing_dsbg = tearing_impl.calculate (a). dsbg ( );
774- return ExprBaseType (ts_impl.calculate (tearing_dsbg ));
773+ LIB ::TearingData tearing_res = tearing_impl.calculate (a);
774+ return ExprBaseType (ts_impl.calculate (tearing_res. dsbg (), tearing_res. rmap () ));
775775 },
776776 [](auto a) {
777- Util::ERROR (" topoSortEvaluator : wrong argument " , a, " for sort \n " );
777+ Util::ERROR (" tearingTSEvaluator : wrong argument " , a, " for tearingTS \n " );
778778 return ExprBaseType ();
779779 }
780780 };
@@ -784,7 +784,7 @@ ExprBaseType BuiltInFunctions::tearingTSEvaluator(const EBTList& args)
784784ExprBaseType BuiltInFunctions::matchTearingTSEvaluator (const EBTList& args)
785785{
786786 Util::ERROR_UNLESS (args.size () == 2
787- , " sortEvaluator : wrong number of arguments" );
787+ , " matchTearingTSEvaluator : wrong number of arguments" );
788788
789789 LIB ::Matching match_impl = LIB ::MATCH_FACT .createMatchAlgorithm ();
790790 LIB ::Tearing tearing_impl = LIB ::TEARING_FACT .createTearingAlgorithm ();
@@ -793,18 +793,18 @@ ExprBaseType BuiltInFunctions::matchTearingTSEvaluator(const EBTList& args)
793793 [&match_impl, &tearing_impl, &ts_impl](LIB ::BipartiteSBG a, LIB ::NAT b) {
794794 LIB ::MatchData match_result = match_impl.calculate (a.copy (b));
795795 LIB ::DSBG scc_dsbg = MISC::buildSCCFromMatching (match_result);
796- LIB ::DSBG tearing_dsbg = tearing_impl.calculate (scc_dsbg). dsbg ( );
797- return ExprBaseType (ts_impl.calculate (tearing_dsbg ));
796+ LIB ::TearingData tearing_res = tearing_impl.calculate (scc_dsbg);
797+ return ExprBaseType (ts_impl.calculate (tearing_res. dsbg (), tearing_res. rmap () ));
798798 },
799799 [&match_impl, &tearing_impl, &ts_impl](LIB ::BipartiteSBG a, LIB ::MD_NAT b) {
800800 LIB ::MatchData match_result = match_impl.calculate (a.copy (b[0 ]));
801801 LIB ::DSBG scc_dsbg = MISC::buildSCCFromMatching (match_result);
802- LIB ::DSBG tearing_dsbg = tearing_impl.calculate (scc_dsbg). dsbg ( );
803- return ExprBaseType (ts_impl.calculate (tearing_dsbg ));
802+ LIB ::TearingData tearing_res = tearing_impl.calculate (scc_dsbg);
803+ return ExprBaseType (ts_impl.calculate (tearing_res. dsbg (), tearing_res. rmap () ));
804804 },
805805 [](auto a, auto b) {
806- Util::ERROR (" match_tearing_evaluator : wrong arguments " , a, " , " , b
807- , " for matchTearing \n " );
806+ Util::ERROR (" matchTearingTSEvaluator : wrong arguments " , a, " , " , b
807+ , " for matchTearingTS \n " );
808808 return ExprBaseType ();
809809 }
810810 };
0 commit comments