@@ -246,15 +246,15 @@ auto connected_visitor_ = Util::Overload {
246
246
};
247
247
248
248
auto matching_visitor_ = Util::Overload {
249
- [](LIB::BaseSBG a, Util::MD_NAT b, Util::MD_NAT c, bool d ) {
250
- LIB::BaseMatch match (a.copy (b[0 ]), d );
251
- return InfoBaseType (match.calculate (c[ 0 ] ));
249
+ [](LIB::BaseSBG a, Util::MD_NAT b, bool c ) {
250
+ LIB::BaseMatch match (a.copy (b[0 ]), c );
251
+ return InfoBaseType (match.calculate ());
252
252
},
253
- [](LIB::CanonSBG a, Util::MD_NAT b, Util::MD_NAT c, bool d ) {
254
- LIB::CanonMatch match (a.copy (b[0 ]), d );
255
- return InfoBaseType (match.calculate (c[ 0 ] ));
253
+ [](LIB::CanonSBG a, Util::MD_NAT b, bool c ) {
254
+ LIB::CanonMatch match (a.copy (b[0 ]), c );
255
+ return InfoBaseType (match.calculate ());
256
256
},
257
- [](auto a, auto b, auto c, auto d ) {
257
+ [](auto a, auto b, auto c) {
258
258
Util::ERROR (" Wrong arguments for matching" );
259
259
return InfoBaseType ();
260
260
}
@@ -304,46 +304,46 @@ auto first_inv_visitor_ = Util::Overload {
304
304
};
305
305
306
306
auto match_scc_visitor_ = Util::Overload {
307
- [](LIB::BaseSBG a, Util::MD_NAT b, Util::MD_NAT c, bool d ) {
308
- LIB::BaseMatch match (a.copy (b[0 ]), d );
309
- match.calculate (c[ 0 ] );
310
- LIB::BaseSCC scc (buildSCCFromMatching (match), d );
307
+ [](LIB::BaseSBG a, Util::MD_NAT b, bool c ) {
308
+ LIB::BaseMatch match (a.copy (b[0 ]), c );
309
+ match.calculate ();
310
+ LIB::BaseSCC scc (buildSCCFromMatching (match), c );
311
311
return MapBaseType (scc.calculate ());
312
312
},
313
- [](LIB::CanonSBG a, Util::MD_NAT b, Util::MD_NAT c, bool d ) {
314
- LIB::CanonMatch match (a.copy (b[0 ]), d );
315
- match.calculate (c[ 0 ] );
316
- LIB::CanonSCC scc (buildSCCFromMatching (match), d );
313
+ [](LIB::CanonSBG a, Util::MD_NAT b, bool c ) {
314
+ LIB::CanonMatch match (a.copy (b[0 ]), c );
315
+ match.calculate ();
316
+ LIB::CanonSCC scc (buildSCCFromMatching (match), c );
317
317
return MapBaseType (scc.calculate ());
318
318
},
319
- [](auto a, auto b, auto c, auto d ) {
319
+ [](auto a, auto b, auto c) {
320
320
Util::ERROR (" Wrong arguments for matching+scc" );
321
321
return MapBaseType ();
322
322
}
323
323
};
324
324
325
325
auto match_scc_ts_visitor_ = Util::Overload {
326
- [](LIB::BaseSBG a, Util::MD_NAT b, Util::MD_NAT c, bool d ) {
327
- LIB::BaseMatch match (a.copy (b[0 ]), d );
328
- LIB::UnordSet match_res = match.calculate (c[ 0 ] ).matched_edges ();
329
- LIB::BaseSCC scc (buildSCCFromMatching (match), d );
326
+ [](LIB::BaseSBG a, Util::MD_NAT b, bool c ) {
327
+ LIB::BaseMatch match (a.copy (b[0 ]), c );
328
+ LIB::UnordSet match_res = match.calculate ().matched_edges ();
329
+ LIB::BaseSCC scc (buildSCCFromMatching (match), c );
330
330
LIB::BasePWMap scc_res = scc.calculate ();
331
- LIB::BaseTopSort ts (buildSortFromSCC (scc, scc_res), d );
331
+ LIB::BaseTopSort ts (buildSortFromSCC (scc, scc_res), c );
332
332
LIB::BasePWMap ts_res = ts.calculate ();
333
333
buildJson (match_res, scc_res, ts_res);
334
334
return MapBaseType (ts_res);
335
335
},
336
- [](LIB::CanonSBG a, Util::MD_NAT b, Util::MD_NAT c, bool d ) {
337
- LIB::CanonMatch match (a.copy (b[0 ]), d );
338
- LIB::OrdSet match_res = match.calculate (c[ 0 ] ).matched_edges ();
339
- LIB::CanonSCC scc (buildSCCFromMatching (match), d );
336
+ [](LIB::CanonSBG a, Util::MD_NAT b, bool c ) {
337
+ LIB::CanonMatch match (a.copy (b[0 ]), c );
338
+ LIB::OrdSet match_res = match.calculate ().matched_edges ();
339
+ LIB::CanonSCC scc (buildSCCFromMatching (match), c );
340
340
LIB::CanonPWMap scc_res = scc.calculate ();
341
- LIB::CanonTopSort ts (buildSortFromSCC (scc, scc_res), d );
341
+ LIB::CanonTopSort ts (buildSortFromSCC (scc, scc_res), c );
342
342
LIB::CanonPWMap ts_res = ts.calculate ();
343
343
buildJson (match_res, scc_res, ts_res);
344
344
return MapBaseType (ts_res);
345
345
},
346
- [](auto a, auto b, auto c, auto d ) {
346
+ [](auto a, auto b, auto c) {
347
347
Util::ERROR (" Wrong arguments for matching+scc+ts" );
348
348
return MapBaseType ();
349
349
}
@@ -675,14 +675,13 @@ ExprBaseType EvalExpression::operator()(AST::Call v) const
675
675
break ;
676
676
677
677
case Eval::Func::matching:
678
- if (eval_args.size () == 3 ) {
678
+ if (eval_args.size () == 2 ) {
679
679
arity_ok = true ;
680
680
681
681
SBGBaseType g = std::visit (EvalGraph{}, eval_args[0 ]);
682
682
NatBaseType copies = std::visit (EvalNatBT{}, eval_args[1 ]);
683
- NatBaseType k = std::visit (EvalNatBT{}, eval_args[2 ]);
684
683
InfoBaseType result = std::visit (
685
- matching_visitor_, g, copies, k, std::variant<bool >(debug_)
684
+ matching_visitor_, g, copies, std::variant<bool >(debug_)
686
685
);
687
686
return result;
688
687
}
@@ -723,28 +722,26 @@ ExprBaseType EvalExpression::operator()(AST::Call v) const
723
722
}
724
723
725
724
case Eval::Func::match_scc:
726
- if (eval_args.size () == 3 ) {
725
+ if (eval_args.size () == 2 ) {
727
726
arity_ok = true ;
728
727
729
728
SBGBaseType g = std::visit (EvalGraph{}, eval_args[0 ]);
730
729
NatBaseType copies = std::visit (EvalNatBT{}, eval_args[1 ]);
731
- NatBaseType k = std::visit (EvalNatBT{}, eval_args[2 ]);
732
730
MapBaseType result = std::visit (
733
- match_scc_visitor_, g, copies, k, std::variant<bool >(debug_)
731
+ match_scc_visitor_, g, copies, std::variant<bool >(debug_)
734
732
);
735
733
return result;
736
734
}
737
735
break ;
738
736
739
737
case Eval::Func::match_scc_ts:
740
- if (eval_args.size () == 3 ) {
738
+ if (eval_args.size () == 2 ) {
741
739
arity_ok = true ;
742
740
743
741
SBGBaseType g = std::visit (EvalGraph{}, eval_args[0 ]);
744
742
NatBaseType copies = std::visit (EvalNatBT{}, eval_args[1 ]);
745
- NatBaseType k = std::visit (EvalNatBT{}, eval_args[2 ]);
746
743
MapBaseType result = std::visit (
747
- match_scc_ts_visitor_, g, copies, k, std::variant<bool >(debug_)
744
+ match_scc_ts_visitor_, g, copies, std::variant<bool >(debug_)
748
745
);
749
746
return result;
750
747
}
0 commit comments