diff options
Diffstat (limited to 'src/solvers/h48/solve.h')
| -rw-r--r-- | src/solvers/h48/solve.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/solvers/h48/solve.h b/src/solvers/h48/solve.h index 2920fa7..4aa3799 100644 --- a/src/solvers/h48/solve.h +++ b/src/solvers/h48/solve.h | |||
| @@ -115,10 +115,15 @@ solve_h48_stop(dfsarg_solve_h48_t arg[static 1]) | |||
| 115 | arg->movemask_normal = arg->movemask_inverse = MM18_ALLMOVES; | 115 | arg->movemask_normal = arg->movemask_inverse = MM18_ALLMOVES; |
| 116 | arg->nodes_visited++; | 116 | arg->nodes_visited++; |
| 117 | 117 | ||
| 118 | /* Preliminary probing using last computed bound, if possible */ | ||
| 119 | |||
| 120 | n = arg->solution_moves->nmoves + arg->solution_moves->npremoves; | 118 | n = arg->solution_moves->nmoves + arg->solution_moves->npremoves; |
| 121 | target = arg->target_depth - n; | 119 | target = arg->target_depth - n; |
| 120 | |||
| 121 | /* We'll never get a bound higher than base + 3 */ | ||
| 122 | if (arg->base + 3 <= target) | ||
| 123 | return false; | ||
| 124 | |||
| 125 | /* Preliminary probing using last computed bound, if possible */ | ||
| 126 | |||
| 122 | if ((arg->use_lb_normal && arg->lb_normal > target) || | 127 | if ((arg->use_lb_normal && arg->lb_normal > target) || |
| 123 | (arg->use_lb_inverse && arg->lb_inverse > target)) | 128 | (arg->use_lb_inverse && arg->lb_inverse > target)) |
| 124 | return true; | 129 | return true; |
