aboutsummaryrefslogtreecommitdiff
path: root/src/solvers/h48
diff options
context:
space:
mode:
Diffstat (limited to 'src/solvers/h48')
-rw-r--r--src/solvers/h48/solve.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/solvers/h48/solve.h b/src/solvers/h48/solve.h
index 44f6a89..182beee 100644
--- a/src/solvers/h48/solve.h
+++ b/src/solvers/h48/solve.h
@@ -145,8 +145,7 @@ solve_h48_appendallsym(dfsarg_solve_h48_t *arg)
145 goto solve_h48_appendallsym_error; 145 goto solve_h48_appendallsym_error;
146 146
147 (*arg->nsols)++; 147 (*arg->nsols)++;
148 *arg->shortest_sol = 148 *arg->shortest_sol = MIN(*arg->shortest_sol, n);
149 MIN(*arg->shortest_sol, arg->nmoves + arg->npremoves);
150 ret++; 149 ret++;
151 } 150 }
152 151
@@ -291,7 +290,7 @@ solve_h48_dfs(dfsarg_solve_h48_t *arg)
291 if (popcount_u32(mm_normal) <= popcount_u32(mm_inverse)) { 290 if (popcount_u32(mm_normal) <= popcount_u32(mm_inverse)) {
292 arg->nmoves++; 291 arg->nmoves++;
293 for (m = 0; m < 18; m++) { 292 for (m = 0; m < 18; m++) {
294 if (!(mm_normal & (1 << m))) 293 if (!(mm_normal & (UINT32_C(1) << (uint32_t)m)))
295 continue; 294 continue;
296 arg->moves[arg->nmoves-1] = m; 295 arg->moves[arg->nmoves-1] = m;
297 arg->cube = move(backup_cube, m); 296 arg->cube = move(backup_cube, m);
@@ -308,7 +307,7 @@ solve_h48_dfs(dfsarg_solve_h48_t *arg)
308 } else { 307 } else {
309 arg->npremoves++; 308 arg->npremoves++;
310 for (m = 0; m < 18; m++) { 309 for (m = 0; m < 18; m++) {
311 if(!(mm_inverse & (1 << m))) 310 if(!(mm_inverse & (UINT32_C(1) << (uint32_t)m)))
312 continue; 311 continue;
313 arg->premoves[arg->npremoves-1] = m; 312 arg->premoves[arg->npremoves-1] = m;
314 arg->inverse = move(backup_inverse, m); 313 arg->inverse = move(backup_inverse, m);

Generated with cgit - Back to sebastiano.tronto.net