split: add separate_edges() and a edge_separator class
This generalizes (and replaces) the two-argument split that was
introduced in c2832cabfc.
* spot/twaalgos/split.cc, spot/twaalgos/split.hh (edge_separator): New
class.
(separate_edges): New function.
(split_edges): Remove the two argument version.
* spot/twaalgos/forq_contains.cc: Adjust to use the edge_separator
class.
* tests/python/splitedge.py: Adjust test case.
* tests/python/split.ipynb: New file.
* tests/Makefile.am, doc/org/tut.org: Add it.
* NEWS: Mention it.
This commit is contained in:
parent
0a045e5f76
commit
3bcffa2fcd
8 changed files with 2395 additions and 200 deletions
|
|
@ -27,8 +27,11 @@ def create_aps(aut):
|
|||
|
||||
def do_edge_test(aut, aps, edges_before, edges_after):
|
||||
tc.assertEqual(aut.num_edges(), edges_before)
|
||||
aut = spot.split_edges(aut, aps)
|
||||
tc.assertEqual(aut.num_edges(), edges_after)
|
||||
es = spot.edge_separator()
|
||||
for ap in aps:
|
||||
es.add_to_basis(ap)
|
||||
res = es.separate_compat(aut)
|
||||
tc.assertEqual(res.num_edges(), edges_after)
|
||||
|
||||
aut = spot.automaton("""
|
||||
HOA: v1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue