fix: workaround for non Obs valued objects in derived_observable now

also works outside of array mode.
This commit is contained in:
Fabian Joswig 2021-12-10 14:37:58 +00:00
parent 525dea0209
commit 67ca53681a

View file

@ -1052,11 +1052,10 @@ def derived_observable(func, data, array_mode=False, **kwargs):
raveled_data = data.ravel()
# Workaround for matrix operations containing non Obs data
if array_mode is True:
if not all(isinstance(x, Obs) for x in raveled_data):
for i in range(len(raveled_data)):
if isinstance(raveled_data[i], (int, float)):
raveled_data[i] = cov_Obs(raveled_data[i], 0.0, "###dummy_covobs###")
if not all(isinstance(x, Obs) for x in raveled_data):
for i in range(len(raveled_data)):
if isinstance(raveled_data[i], (int, float)):
raveled_data[i] = cov_Obs(raveled_data[i], 0.0, "###dummy_covobs###")
allcov = {}
for o in raveled_data: