diff --git a/stl/fastboolean_eval.py b/stl/fastboolean_eval.py index ab6cf18..89729ed 100644 --- a/stl/fastboolean_eval.py +++ b/stl/fastboolean_eval.py @@ -22,10 +22,9 @@ def _(stl): @pointwise_satf.register(stl.And) def _(stl): def sat_comp(x,t): - sat = bitarray(len(t)) - sat.setall('True') + sat = ~bitarray(len(t)) for arg in stl.args: - sat = pointwise_satf(arg)(x, t) & sat + sat = ~(~pointwise_satf(arg)(x, t) | ~sat) return sat return sat_comp @@ -49,8 +48,7 @@ def _(stl): sat = bitarray() for tau in t: tau_t = [min(tau + t2, x.index[-1]) for t2 in x[lo:hi].index] - point_sat = pointwise_satf(stl.arg)(x, tau_t) - sat.append(point_sat.count() == point_sat.length()) + sat.append((~(pointwise_satf(stl.arg)(x, tau_t))).count() == 0) return sat return sat_comp