From 38b8c1838f9e6485b9e3363152f8fd3247c99193 Mon Sep 17 00:00:00 2001 From: Marcell Vazquez-Chanlatte Date: Mon, 27 Nov 2017 13:10:56 -0800 Subject: [PATCH] support discretizing top and bot --- stl/test_utils.py | 12 ++++++++++++ stl/utils.py | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/stl/test_utils.py b/stl/test_utils.py index a8a024c..b05e95c 100644 --- a/stl/test_utils.py +++ b/stl/test_utils.py @@ -94,6 +94,18 @@ def test_discretize(): assert phi2 == stl.parse( '(~((X(A)) ∨ (X(X(A))))) ∧ (~((X(X(A))) ∨ (X(X(X(A))))))') + phi = stl.TOP + assert stl.utils.is_discretizable(phi, dt) + phi2 = stl.utils.discretize(phi, dt) + phi3 = stl.utils.discretize(phi2, dt) + assert phi2 == phi3 + + phi = stl.BOT + assert stl.utils.is_discretizable(phi, dt) + phi2 = stl.utils.discretize(phi, dt) + phi3 = stl.utils.discretize(phi2, dt) + assert phi2 == phi3 + def test_scope(): dt = 0.3 diff --git a/stl/utils.py b/stl/utils.py index 341fe56..32d933f 100644 --- a/stl/utils.py +++ b/stl/utils.py @@ -128,7 +128,7 @@ def discretize(phi, dt, distribute=False): def _discretize(phi, dt): - if isinstance(phi, (LinEq, AtomicPred)): + if isinstance(phi, (LinEq, AtomicPred, _Top, _Bot)): return phi children = tuple(_discretize(arg, dt) for arg in phi.children)