bugs in derived_array and gamma_method fixed which caused odd behaviour

in connection with irregular monte carlo chains
This commit is contained in:
Fabian Joswig 2021-11-12 09:39:18 +00:00
parent 17f7753225
commit 0644ecf9aa
2 changed files with 3 additions and 3 deletions

View file

@ -86,7 +86,7 @@ def derived_array(func, data, **kwargs):
for name in new_names:
d_extracted[name] = []
for i_dat, dat in enumerate(data):
ens_length = new_idl_d[name][-1] - new_idl_d[name][0] + 1
ens_length = len(new_idl_d[name])
d_extracted[name].append(np.array([_expand_deltas_for_merge(o.deltas[name], o.idl[name], o.shape[name], new_idl_d[name]) for o in dat.reshape(np.prod(dat.shape))]).reshape(dat.shape + (ens_length, )))
for i_val, new_val in np.ndenumerate(new_values):

View file

@ -248,7 +248,7 @@ class Obs:
r_length = []
for r_name in e_content[e_name]:
if self.idl[r_name] is range:
if isinstance(self.idl[r_name], range):
r_length.append(len(self.idl[r_name]))
else:
r_length.append((self.idl[r_name][-1] - self.idl[r_name][0] + 1))
@ -339,7 +339,7 @@ class Obs:
idx -- List or range of configs on which the deltas are defined.
shape -- Number of configs in idx.
"""
if type(idx) is range:
if isinstance(idx, range):
return deltas
else:
ret = np.zeros(idx[-1] - idx[0] + 1)