Skip to content
Snippets Groups Projects
Commit 32f67aa7 authored by ferrari's avatar ferrari
Browse files

Fix floating point error

parent a002514c
No related branches found
No related tags found
No related merge requests found
......@@ -207,7 +207,12 @@ def smart_gsrp(cc, n_ind, n_tot, t_max, tree, program, clean_list, verbose=False
curr_tij = frozenset(tree[k[0]][k[1]])
memory[k] = mask_val(v, out_val - sum(m for tij, m in max_val.items() if curr_tij.isdisjoint(tij)))
if i and np.prod([v[0].size for v in memory.values()], dtype=np.float64) <= 1024: # float to prevent overflow
try:
return *add_all(memory, tree, cc, t_max, n_ind, n_tot), 1
except ValueError as e:
if any(v[0].size == 0 for v in memory.values()): # due floating point error
return out_val, out_tij, 1 # current tij should only contain maxima for this error to occur
raise e from None
for j, op in enumerate(step):
if op == 'mem':
if i == 0:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment