From 06c3b9610b7694db34ee91312d8f3aa2196d7d62 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Fri, 25 Feb 2022 17:20:30 +0100 Subject: Added cleanup command --- src/commands.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/commands.c') diff --git a/src/commands.c b/src/commands.c index d9d6b50..13405b7 100644 --- a/src/commands.c +++ b/src/commands.c @@ -12,6 +12,7 @@ CommandArgs * scramble_parse_args(int c, char **v); /* Exec functions ************************************************************/ static void gen_exec(CommandArgs *args); +static void cleanup_exec(CommandArgs *args); static void invert_exec(CommandArgs *args); static void solve_exec(CommandArgs *args); static void scramble_exec(CommandArgs *args); @@ -122,6 +123,15 @@ quit_cmd = { .exec = quit_exec, }; +Command +cleanup_cmd = { + .name = "cleanup", + .usage = "cleanup SCRAMBLE", + .description = "Rewrite a scramble using only standard moves (HTM)", + .parse_args = parse_only_scramble, + .exec = cleanup_exec, +}; + Command unniss_cmd = { .name = "unniss", @@ -151,6 +161,7 @@ Command *commands[NCOMMANDS] = { &scramble_cmd, &steps_cmd, &twophase_cmd, + &cleanup_cmd, &unniss_cmd, &version_cmd, }; @@ -498,6 +509,19 @@ quit_exec(CommandArgs *args) exit(0); } +static void +cleanup_exec(CommandArgs *args) +{ + Alg *alg; + + init_moves(); + + alg = cleanup(args->scramble); + print_alg(alg, false); + + free_alg(alg); +} + static void unniss_exec(CommandArgs *args) { -- cgit v1.3