Skip to content

Commit 963a766

Browse files
committed
- Modify tearingTS and matchTearingTS evaluators to consider new toposort calculate
1 parent 3b5db80 commit 963a766

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

eval/visitors/func_evaluator.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -764,17 +764,17 @@ ExprBaseType BuiltInFunctions::matchTearingEvaluator(const EBTList& args)
764764
ExprBaseType 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)
784784
ExprBaseType 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

Comments
 (0)