fix bug in global evaluator
This commit is contained in:
parent
cba8a83c8e
commit
f53cab4485
2 changed files with 10 additions and 2 deletions
|
|
@ -78,7 +78,10 @@ def eval_stl_g(phi, dt):
|
|||
a, b = phi.interval
|
||||
|
||||
def process_intervals(x):
|
||||
for (start, val), (end, val2) in x.iterintervals():
|
||||
# Need to add last interval
|
||||
intervals = fn.chain(x.iterintervals(),
|
||||
[(x.last(), (float('inf'), None),)])
|
||||
for (start, val), (end, val2) in intervals:
|
||||
start2, end2 = start - b, end + a
|
||||
if end2 > start2:
|
||||
yield (start2, val)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ x = {
|
|||
"AP2": traces.TimeSeries([(0, False), (0.2, True), (0.5, False)]),
|
||||
"AP3": traces.TimeSeries([(0, True), (0.1, True), (0.3, False)]),
|
||||
"AP4": traces.TimeSeries([(0, False), (0.1, False), (0.3, False)]),
|
||||
"AP5": traces.TimeSeries([(0, False), (0.1, False), (0.1, True)]),
|
||||
"AP5": traces.TimeSeries([(0, False), (0.1, False), (0.3, True)]),
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -70,6 +70,11 @@ def test_boolean_identities(phi):
|
|||
stl_eval12 = stl.boolean_eval.pointwise_sat(phi5)
|
||||
assert stl_eval12(x, 0)
|
||||
|
||||
phi6 = stl.parse('G[0.1, 0.03](~(AP5))')
|
||||
stl_eval13 = stl.boolean_eval.pointwise_sat(phi6)
|
||||
assert stl_eval13(x, 0)
|
||||
assert not stl_eval13(x, 0.4)
|
||||
|
||||
|
||||
@given(st.just(stl.BOT))
|
||||
def test_temporal_identities(phi):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue