From a673a8f6564c811f79904437e6441743b6c79522 Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Wed, 17 Nov 2021 17:36:43 +0000 Subject: [PATCH] fix: derived_array now also has the reduced loop in derived_observable --- pyerrors/linalg.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/pyerrors/linalg.py b/pyerrors/linalg.py index 4a3e5efc..c8daeb97 100644 --- a/pyerrors/linalg.py +++ b/pyerrors/linalg.py @@ -100,18 +100,16 @@ def derived_array(func, data, **kwargs): new_samples = [] new_means = [] new_idl = [] - filtered_deltas = {} - filtered_idl_d = {} for name in new_names: if is_merged[name]: - filtered_deltas[name], filtered_idl_d[name] = _filter_zeroes(new_deltas[name], new_idl_d[name]) + filtered_deltas, filtered_idl_d = _filter_zeroes(new_deltas[name], new_idl_d[name]) else: - filtered_deltas[name] = new_deltas[name] - filtered_idl_d[name] = new_idl_d[name] - for name in new_names: - new_samples.append(filtered_deltas[name]) + filtered_deltas = new_deltas[name] + filtered_idl_d = new_idl_d[name] + + new_samples.append(filtered_deltas) + new_idl.append(filtered_idl_d) new_means.append(new_r_values[name][i_val]) - new_idl.append(filtered_idl_d[name]) final_result[i_val] = Obs(new_samples, new_names, means=new_means, idl=new_idl) final_result[i_val]._value = new_val final_result[i_val].is_merged = is_merged