aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/steps.c43
1 files changed, 19 insertions, 24 deletions
diff --git a/src/steps.c b/src/steps.c
index 7d1823e..e2beb56 100644
--- a/src/steps.c
+++ b/src/steps.c
@@ -1165,6 +1165,13 @@ estimate_optimal_HTM(DfsArg *arg)
1165 Move bl1; 1165 Move bl1;
1166 Cube aux; 1166 Cube aux;
1167 1167
1168 static const uint64_t udmask = (1<<U) | (1<<U2) | (1<<U3) |
1169 (1<<D) | (1<<D2) | (1<<D3);
1170 static const uint64_t rlmask = (1<<R) | (1<<R2) | (1<<R3) |
1171 (1<<L) | (1<<L2) | (1<<L3);
1172 static const uint64_t fbmask = (1<<F) | (1<<F2) | (1<<F3) |
1173 (1<<B) | (1<<B2) | (1<<B3);
1174
1168 ret = -1; 1175 ret = -1;
1169 target = arg->d - arg->current_alg->len; 1176 target = arg->d - arg->current_alg->len;
1170 bl1 = base_move(arg->last1); 1177 bl1 = base_move(arg->last1);
@@ -1219,31 +1226,19 @@ estimate_optimal_HTM(DfsArg *arg)
1219 } 1226 }
1220 1227
1221 /* nxopt trick */ 1228 /* nxopt trick */
1222 if (arg->ed->normal_ud == target) { 1229 if (arg->ed->normal_ud == target)
1223 arg->badmovesinv |= (1<<U) | (1<<U2) | (1<<U3) | 1230 arg->badmovesinv |= udmask;
1224 (1<<D) | (1<<D2) | (1<<D3); 1231 if (arg->ed->normal_fb == target)
1225 } 1232 arg->badmovesinv |= fbmask;
1226 if (arg->ed->normal_fb == target) { 1233 if (arg->ed->normal_rl == target)
1227 arg->badmovesinv |= (1<<F) | (1<<F2) | (1<<F3) | 1234 arg->badmovesinv |= rlmask;
1228 (1<<B) | (1<<B2) | (1<<B3);
1229 }
1230 if (arg->ed->normal_rl == target) {
1231 arg->badmovesinv |= (1<<R) | (1<<R2) | (1<<R3) |
1232 (1<<L) | (1<<L2) | (1<<L3);
1233 }
1234 1235
1235 if (arg->ed->inverse_ud == target) { 1236 if (arg->ed->inverse_ud == target)
1236 arg->badmoves |= (1<<U) | (1<<U2) | (1<<U3) | 1237 arg->badmoves |= udmask;
1237 (1<<D) | (1<<D2) | (1<<D3); 1238 if (arg->ed->inverse_fb == target)
1238 } 1239 arg->badmoves |= fbmask;
1239 if (arg->ed->inverse_fb == target) { 1240 if (arg->ed->inverse_rl == target)
1240 arg->badmoves |= (1<<F) | (1<<F2) | (1<<F3) | 1241 arg->badmoves |= rlmask;
1241 (1<<B) | (1<<B2) | (1<<B3);
1242 }
1243 if (arg->ed->inverse_rl == target) {
1244 arg->badmoves |= (1<<R) | (1<<R2) | (1<<R3) |
1245 (1<<L) | (1<<L2) | (1<<L3);
1246 }
1247 1242
1248 return arg->ed->oldret = ret; 1243 return arg->ed->oldret = ret;
1249} 1244}

Generated with cgit - Back to sebastiano.tronto.net