Hello, it seems like I'm running into a few issues when using "top-level" (non-nested) until operators.
import stlrom
driver = stlrom.STLDriver()
driver.parse_string("signal x,y\nphi:=(x[t]>0) until_[3,5] (y[t] > 5)")
print("driver received:")
driver.disp()
signal = [[0, 1, 1], # 0
[0.5, 1, 1], # 0.5
[1, 1, 1], # 1
[1.5, 1, 1], # 1.5
[2, 1, 1], # 2
[2.5, 1, 1], # 2.5
[3, 1, 1], # 3, changing this to 3.00001 stops the seg fault
[3.5, 1, 1], # 3.5
[4, 5.5, 5.5], # 4
[4.5, 5.5, 1], # 4.5
[5, 5.5, 1]] # 5
# use this variable to skip accessing robustness at that time:
skip3 = False
for i in range(len(signal)):
driver.add_sample(signal[i])
if (signal[i][0] == 3) & skip3:
print("skipping 3!")
else:
robs = driver.get_online_rob("phi")
print("\n\n time:")
print(signal[i][0])
print("\n sample:")
print(signal[i][1:3])
print("\n robustness:")
print(robs)
Hello, it seems like I'm running into a few issues when using "top-level" (non-nested) until operators.
add_sample, if the last sample I added was exactly at theget_online_robfunction segfaultsrobs) takes on the value of RoSI upper, which is incorrect (1 instead of -4 in the example provided)robsare the sameHere's a script to reproduce the issues I'm seeing: