diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-22 10:48:21 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-22 11:14:36 +0100 |
| commit | 2e79b4ac22321abd69c7f1a9748b5761abaab1ec (patch) | |
| tree | e7f3cb04aa24ddb39fa2ae7418aac3a69f7fe791 /src/checker | |
| parent | 6a83ee598406e9ee4bdd7169dfc4bb46284a2062 (diff) | |
| download | push_swap-2e79b4ac22321abd69c7f1a9748b5761abaab1ec.tar.gz push_swap-2e79b4ac22321abd69c7f1a9748b5761abaab1ec.tar.bz2 push_swap-2e79b4ac22321abd69c7f1a9748b5761abaab1ec.zip | |
Added micro optimisation when sorting frame == 2 and less reverse rotate when frame == full stack, norming
Diffstat (limited to 'src/checker')
| -rw-r--r-- | src/checker/checker.h | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/src/checker/checker.h b/src/checker/checker.h index 808e408..f6d50ef 100644 --- a/src/checker/checker.h +++ b/src/checker/checker.h @@ -6,10 +6,9 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/01/18 10:16:12 by cacharle #+# #+# */ -/* Updated: 2020/01/19 09:09:29 by cacharle ### ########.fr */ +/* Updated: 2020/01/22 10:42:16 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdio.h> #ifndef CHECKER_H # define CHECKER_H @@ -20,29 +19,32 @@ # define ACTION_ID_BUF_SIZE 4 -typedef enum +typedef enum e_flag_arg { FLAG_ARG_A, FLAG_ARG_B, FLAG_ARG_A_B, FLAG_ARG_B_A -} t_flag_arg; +} t_flag_arg; -typedef struct +typedef void (*t_func_arg_1)(t_stack *); +typedef void (*t_func_arg_2)(t_stack *, t_stack *); + +typedef struct s_action { - const char *id; - t_flag_arg args; + const char *id; + t_flag_arg args; union { - void (*arg_1)(t_stack *); - void (*arg_2)(t_stack *, t_stack *); - } func; -} t_action; - -t_status check(t_stack *a, t_stack *b); -t_status read_action(t_stack *a, t_stack *b); -t_status exec_action(char action_id[ACTION_ID_BUF_SIZE], - t_stack *a, t_stack *b); -t_bool stack_sorted(t_stack *stack); + t_func_arg_1 arg_1; + t_func_arg_2 arg_2; + } func; +} t_action; + +t_status check(t_stack *a, t_stack *b); +t_status read_action(t_stack *a, t_stack *b); +t_status exec_action(char action_id[ACTION_ID_BUF_SIZE], + t_stack *a, t_stack *b); +t_bool stack_sorted(t_stack *stack); #endif |
