14namespace layer4_classification {
75 for (i = 1; i < argc; i++) {
76 if (ST.
stringcmp(argv[i],
"-starter_size") == 0) {
81 else if (ST.
stringcmp(argv[i],
"-lift") == 0) {
84 cout <<
"-lift " << endl;
86 else if (ST.
stringcmp(argv[i],
"-lex") == 0) {
88 cout <<
"-lex" << endl;
90 else if (ST.
stringcmp(argv[i],
"-solve") == 0) {
92 cout <<
"-solve" << endl;
94 else if (ST.
stringcmp(argv[i],
"-save") == 0) {
96 cout <<
"-save" << endl;
98 else if (ST.
stringcmp(argv[i],
"-read") == 0) {
100 cout <<
"-read" << endl;
102 else if (ST.
stringcmp(argv[i],
"-split") == 0) {
108 else if (ST.
stringcmp(argv[i],
"-draw_system") == 0) {
113 else if (ST.
stringcmp(argv[i],
"-write_tree") == 0) {
118 else if (ST.
stringcmp(argv[i],
"-base_fname") == 0) {
123 else if (ST.
stringcmp(argv[i],
"-input_prefix") == 0) {
128 else if (ST.
stringcmp(argv[i],
"-output_prefix") == 0) {
133 else if (ST.
stringcmp(argv[i],
"-solution_prefix") == 0) {
138 else if (ST.
stringcmp(argv[i],
"-randomized") == 0) {
143 else if (ST.
stringcmp(argv[i],
"-end") == 0) {
144 cout <<
"-end" << endl;
148 cout <<
"exact_cover_arguments::read_arguments "
149 "unrecognized option " << argv[i] << endl;
152 cout <<
"exact_cover_arguments::read_arguments done" << endl;
158 int f_v = (verbose_level >= 1);
161 cout <<
"exact_cover_arguments::compute_lifts" << endl;
162 cout <<
"exact_cover_arguments::compute_lifts verbose_level=" << verbose_level << endl;
163 cout <<
"exact_cover_arguments::compute_lifts base_fname=" <<
base_fname << endl;
164 cout <<
"exact_cover_arguments::compute_lifts input_prefix=" <<
input_prefix << endl;
165 cout <<
"exact_cover_arguments::compute_lifts output_prefix=" <<
output_prefix << endl;
166 cout <<
"exact_cover_arguments::compute_lifts solution_prefix=" <<
solution_prefix << endl;
170 cout <<
"exact_cover_arguments::compute_lifts no base_fname" << endl;
174 cout <<
"exact_cover_arguments::compute_lifts no input_prefix" << endl;
178 cout <<
"exact_cover_arguments::compute_lifts no output_prefix" << endl;
182 cout <<
"exact_cover_arguments::compute_lifts no solution_prefix" << endl;
186 cout <<
"exact_cover_arguments::compute_lifts no starter_size" << endl;
191 cout <<
"exact_cover_arguments::compute_lifts target_size == 0" << endl;
235 cout <<
"exact_cover_arguments::compute_lifts "
236 "before compute_liftings_new" << endl;
247 cout <<
"exact_cover_arguments::compute_lifts done" << endl;
void compute_lifts(int verbose_level)
std::string random_permutation_fname
void(* prepare_function_new)(exact_cover *E, int starter_case, long int *candidates, int nb_candidates, groups::strong_generators *Strong_gens, solvers::diophant *&Dio, long int *&col_label, int &f_ruled_out, int verbose_level)
int f_has_late_cleanup_function
void * solution_test_func_data
std::string solution_prefix
int f_has_solution_prefix
void(* late_cleanup_function)(exact_cover *EC, int starter_case, int verbose_level)
void(* early_test_function)(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, void *data, int verbose_level)
std::string output_prefix
int read_arguments(int argc, std::string *argv, int verbose_level)
void * early_test_function_data
int(* solution_test_func)(exact_cover *EC, long int *S, int len, void *data, int verbose_level)
int f_has_solution_test_function
exact cover problems arising with the lifting of combinatorial objects
void set_split(int split_r, int split_m, int verbose_level)
void add_solution_test_function(int(*solution_test_func)(exact_cover *EC, long int *S, int len, void *data, int verbose_level), void *solution_test_func_data, int verbose_level)
void init_basic(void *user_data, actions::action *A_base, actions::action *A_on_blocks, int target_size, int starter_size, std::string &input_prefix, std::string &output_prefix, std::string &solution_prefix, std::string &base_fname, int f_lex, int verbose_level)
void add_late_cleanup_function(void(*late_cleanup_function)(exact_cover *E, int starter_case, int verbose_level))
void compute_liftings_new(int f_solve, int f_save, int f_read_instead, int f_draw_system, std::string &fname_system, int f_write_tree, std::string &fname_tree, int verbose_level)
void init_early_test_func(void(*early_test_func)(long int *S, int len, long int *candidates, int nb_candidates, long int *good_candidates, int &nb_good_candidates, void *data, int verbose_level), void *early_test_func_data, int verbose_level)
void init_prepare_function_new(void(*prepare_function_new)(exact_cover *E, int starter_case, long int *candidates, int nb_candidates, groups::strong_generators *Strong_gens, solvers::diophant *&Dio, long int *&col_label, int &f_ruled_out, int verbose_level), int verbose_level)
void randomize(std::string &random_permutation_fname, int verbose_level)
the orbiter library for the classification of combinatorial objects