/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* best_move.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: maiboyer +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/29 20:10:21 by maiboyer #+# #+# */ /* Updated: 2024/02/08 13:30:30 by maiboyer ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef BEST_MOVE_H # define BEST_MOVE_H # include "app/state.h" # include "me/vec/vec_i64.h" struct s_functions { void (*forward)(void *); void (*reverse)(void *); }; typedef t_usize (*t_iter_pos_func)(t_vec_i64 *); typedef struct s_best_move_args { t_iter_pos_func iter_func; t_usize index; t_vec_i64 *from; t_vec_i64 *to; void *args; struct s_functions main; struct s_functions other; struct s_functions both; bool print_stuff; } t_best_move_args; void run_func_with_best_rotate_for_item(t_state *state, t_best_move_args data); #endif /* BEST_MOVE_H */