From 11e6aeeaf5f08839c6effb8f68710081acf491bf Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 9 Mar 2025 07:43:37 +0100 Subject: Working (?) version of coordinate solver --- src/solvers/h48/solve.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/solvers/h48/solve.h') 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) goto solve_h48_appendallsym_error; (*arg->nsols)++; - *arg->shortest_sol = - MIN(*arg->shortest_sol, arg->nmoves + arg->npremoves); + *arg->shortest_sol = MIN(*arg->shortest_sol, n); ret++; } @@ -291,7 +290,7 @@ solve_h48_dfs(dfsarg_solve_h48_t *arg) if (popcount_u32(mm_normal) <= popcount_u32(mm_inverse)) { arg->nmoves++; for (m = 0; m < 18; m++) { - if (!(mm_normal & (1 << m))) + if (!(mm_normal & (UINT32_C(1) << (uint32_t)m))) continue; arg->moves[arg->nmoves-1] = m; arg->cube = move(backup_cube, m); @@ -308,7 +307,7 @@ solve_h48_dfs(dfsarg_solve_h48_t *arg) } else { arg->npremoves++; for (m = 0; m < 18; m++) { - if(!(mm_inverse & (1 << m))) + if(!(mm_inverse & (UINT32_C(1) << (uint32_t)m))) continue; arg->premoves[arg->npremoves-1] = m; arg->inverse = move(backup_inverse, m); -- cgit v1.3