// This file is generated by gen-move-funcs.pl.
// Do not edit by hand!
#include "freecell.h"
#include "simpsim.h"

#ifdef FCS_DISABLE_SIMPLE_SIMON
#define WRAP_SIMPSIM(f) fc_solve_sfs_move_top_stack_cards_to_founds
#else
#define WRAP_SIMPSIM(f) f
#endif

#if MAX_NUM_FREECELLS > 0
#define WRAP_ZEROFC(f) f
#else
#define WRAP_ZEROFC(f) fc_solve_sfs_null_move_func
#endif

fc_solve_solve_for_state_move_func fc_solve_sfs_move_funcs[FCS_MOVE_FUNCS_NUM] =
{
    fc_solve_sfs_move_top_stack_cards_to_founds,
    WRAP_ZEROFC(fc_solve_sfs_move_freecell_cards_to_founds),
    WRAP_ZEROFC(fc_solve_sfs_move_freecell_cards_on_top_of_stacks),
    fc_solve_sfs_move_non_top_stack_cards_to_founds,
    fc_solve_sfs_move_stack_cards_to_different_stacks,
    fc_solve_sfs_move_stack_cards_to_a_parent_on_the_same_stack,
    fc_solve_sfs_move_sequences_to_free_stacks,
    WRAP_ZEROFC(fc_solve_sfs_move_freecell_cards_to_empty_stack),
    fc_solve_sfs_move_cards_to_a_different_parent,
    WRAP_ZEROFC(fc_solve_sfs_empty_stack_into_freecells),
    fc_solve_sfs_atomic_move_card_to_empty_stack,
    fc_solve_sfs_atomic_move_card_to_parent,
    WRAP_ZEROFC(fc_solve_sfs_atomic_move_card_to_freecell),
    WRAP_ZEROFC(fc_solve_sfs_atomic_move_freecell_card_to_parent),
    WRAP_ZEROFC(fc_solve_sfs_atomic_move_freecell_card_to_empty_stack),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_sequence_to_founds),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_sequence_to_true_parent),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_whole_stack_sequence_to_false_parent),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_sequence_to_true_parent_with_some_cards_above),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_sequence_with_some_cards_above_to_true_parent),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_sequence_with_junk_seq_above_to_true_parent_with_some_cards_above),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_whole_stack_sequence_to_false_parent_with_some_cards_above),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_sequence_to_parent_on_the_same_stack),
    WRAP_SIMPSIM(fc_solve_sfs_simple_simon_move_sequence_to_false_parent),
    WRAP_ZEROFC(fc_solve_sfs_move_fc_to_empty_and_put_on_top)
};

fcs_move_func_aliases_mapping fc_solve_sfs_move_funcs_aliases[256] =
{
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,10,11,12,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,16,17,18,19,20,21,22,23,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
};
