diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2026-11-08 18:24:35 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2026-11-08 18:24:35 +0100 |
| commit | ecee6895458d8e06934c95b687a133eddd754dad (patch) | |
| tree | 6884bef4d334fede1853363f629317e933f771d3 /src/solvers/h48/gendata_h48.h | |
| parent | 5327a4d14bf02d49a02a698dc2b011baa73145ac (diff) | |
| download | nissy-core-ecee6895458d8e06934c95b687a133eddd754dad.tar.gz nissy-core-ecee6895458d8e06934c95b687a133eddd754dad.zip | |
There was a small (but kinda silly) error in the prunin table
generation for H48 solvers, resulting in some positions showing
a higher lower bound than they actually had. This means that the
solvers where in theory broken and could have skipped some solutions
- but we have not found any example, as this would be an extremely
rare situation. This affected all tables from H48h2 to H48h11.
This bug was found by LLM-based coding analysis in the context of
the development of egg-solver: https://github.com/ArhanChaudhary/egg-solver
Thanks to Arhan Chaudhary for reporting the bug.
Diffstat (limited to '')
| -rw-r--r-- | src/solvers/h48/gendata_h48.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/solvers/h48/gendata_h48.h b/src/solvers/h48/gendata_h48.h index 0b85e49..be06588 100644 --- a/src/solvers/h48/gendata_h48.h +++ b/src/solvers/h48/gendata_h48.h | |||
| @@ -308,7 +308,7 @@ gendata_h48_runthread(void *arg) | |||
| 308 | wrapthread_mutex_lock(dfsarg->shortcubes_mutex); | 308 | wrapthread_mutex_lock(dfsarg->shortcubes_mutex); |
| 309 | 309 | ||
| 310 | kv = h48map_nextkvpair(dfsarg->shortcubes, dfsarg->next); | 310 | kv = h48map_nextkvpair(dfsarg->shortcubes, dfsarg->next); |
| 311 | if (*dfsarg->next == dfsarg->shortcubes->capacity) { | 311 | if (kv.val == MAP_UNSET_VAL) { |
| 312 | wrapthread_mutex_unlock(dfsarg->shortcubes_mutex); | 312 | wrapthread_mutex_unlock(dfsarg->shortcubes_mutex); |
| 313 | break; | 313 | break; |
| 314 | } | 314 | } |
