acc: make &= and |= symmetrical
Operator &= used to always move Fin to the front, it does not anymore.
The only thing it does now is to merge Inf(x)&Inf(y) as Inf({x,y}).
Operator |= is now symmetrical and merges Fin()s.
Fixes #253.
* spot/twa/acc.cc, spot/twa/acc.hh: Simplify &= and make |= symmetrical.
* spot/twaalgos/cleanacc.cc: Fix conjunction order.
* tests/core/acc.test, tests/core/acc2.test, tests/core/parseaut.test,
tests/core/readsave.test, tests/core/satmin2.test,
tests/core/sccdot.test, tests/python/acc_cond.ipynb,
tests/python/accparse.ipynb, tests/python/automata.ipynb,
tests/python/product.ipynb, tests/python/randaut.ipynb: Adjust test
cases.
This commit is contained in:
parent
8e685e00c9
commit
abe2c08b78
15 changed files with 254 additions and 295 deletions
|
|
@ -15,7 +15,7 @@
|
|||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.3"
|
||||
"version": "3.5.3+"
|
||||
},
|
||||
"name": ""
|
||||
},
|
||||
|
|
@ -489,7 +489,7 @@
|
|||
"output_type": "pyout",
|
||||
"prompt_number": 17,
|
||||
"text": [
|
||||
"(Fin(1) & Inf(0)) | Inf(2)"
|
||||
"(Inf(0) & Fin(1)) | Inf(2)"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -571,7 +571,7 @@
|
|||
"output_type": "pyout",
|
||||
"prompt_number": 20,
|
||||
"text": [
|
||||
"(Fin(3) | Inf(1)) & (Fin(0)|Fin(2)) & Inf(4)"
|
||||
"(Fin(3) | Inf(1)) & Inf(4) & (Fin(0)|Fin(2))"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -619,7 +619,7 @@
|
|||
"output_type": "pyout",
|
||||
"prompt_number": 22,
|
||||
"text": [
|
||||
"Fin(0) & (Fin(2) | Inf(1)) & (Fin(4) | Inf(1) | Inf(3))"
|
||||
"Fin(0) & (Inf(1) | Fin(2)) & (Inf(1) | Inf(3) | Fin(4))"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -720,8 +720,8 @@
|
|||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"(Fin(0) & Inf(1)) | (Fin(2) & Inf(3))\n",
|
||||
"(Inf(0) | Fin(1)) & (Inf(2) | Fin(3))\n"
|
||||
"((Fin(4) & Inf(5)) | (Fin(6) & Inf(7))) & ((Fin(0) & Inf(1)) | (Fin(2) & Inf(3)))\n",
|
||||
"((Inf(4) | Fin(5)) & (Inf(6) | Fin(7))) | ((Inf(0) | Fin(1)) & (Inf(2) | Fin(3)))\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue