From f8ef06acc603b144471746d98a9db5f24bd89fec Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Tue, 15 Aug 2017 22:40:28 +0200 Subject: [PATCH] acc: fix operator| and operator& Bug introduced in abe2c08b, visible in tests/python/product.ipynb, and tests/python/acc_cond.ipynb. * spot/twa/acc.hh: fix operator| and operator&. * tests/python/acc_cond.ipynb: Adjust test case. --- spot/twa/acc.hh | 10 +++++++--- tests/python/acc_cond.ipynb | 15 +++------------ 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/spot/twa/acc.hh b/spot/twa/acc.hh index b552e907c..0b14c4112 100644 --- a/spot/twa/acc.hh +++ b/spot/twa/acc.hh @@ -686,7 +686,9 @@ namespace spot acc_code operator&(const acc_code& r) { - return *this &= r; + acc_code res = *this; + res &= r; + return res; } acc_code operator&(acc_code&& r) @@ -789,9 +791,11 @@ namespace spot return res; } - acc_code& operator|(const acc_code& r) + acc_code operator|(const acc_code& r) { - return *this |= r; + acc_code res = *this; + res |= r; + return res; } acc_code& operator<<=(unsigned sets) diff --git a/tests/python/acc_cond.ipynb b/tests/python/acc_cond.ipynb index 759b8fa99..1922bcf23 100644 --- a/tests/python/acc_cond.ipynb +++ b/tests/python/acc_cond.ipynb @@ -15,7 +15,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3+" + "version": "3.5.4" }, "name": "" }, @@ -720,8 +720,8 @@ "output_type": "stream", "stream": "stdout", "text": [ - "((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" + "(Fin(0) & Inf(1)) | (Fin(2) & Inf(3))\n", + "(Inf(0) | Fin(1)) & (Inf(2) | Fin(3))\n" ] } ], @@ -1426,15 +1426,6 @@ } ], "prompt_number": 52 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": null } ], "metadata": {}