14namespace layer4_classification {
77 for (i = 0; i < argc; i++) {
78 if (ST.
stringcmp(argv[i],
"-build_db") == 0) {
80 cout <<
"-build_db " << endl;
82 else if (ST.
stringcmp(argv[i],
"-read_solutions") == 0) {
84 cout <<
"-read_solutions " << endl;
86 else if (ST.
stringcmp(argv[i],
"-read_solutions_from_clique_finder") == 0) {
88 cout <<
"-read_solutions_from_clique_finder " << endl;
90 else if (ST.
stringcmp(argv[i],
"-read_solutions_from_clique_finder_list_of_cases") == 0) {
95 else if (ST.
stringcmp(argv[i],
"-read_solutions_after_split") == 0) {
100 else if (ST.
stringcmp(argv[i],
"-read_statistics_after_split") == 0) {
106 else if (ST.
stringcmp(argv[i],
"-compute_orbits") == 0) {
108 cout <<
"-compute_orbits " << endl;
110 else if (ST.
stringcmp(argv[i],
"-isomorph_testing") == 0) {
112 cout <<
"-isomorph_testing " << endl;
114 else if (ST.
stringcmp(argv[i],
"-classification_graph") == 0) {
116 cout <<
"-make_classification_graph " << endl;
118 else if (ST.
stringcmp(argv[i],
"-e") == 0) {
124 else if (ST.
stringcmp(argv[i],
"-print_interval") == 0) {
126 cout <<
"-print_interval " <<
print_mod << endl;
128 else if (ST.
stringcmp(argv[i],
"-isomorph_report") == 0) {
130 cout <<
"-report " << endl;
132 else if (ST.
stringcmp(argv[i],
"-subset_orbits") == 0) {
134 cout <<
"-subset_orbits " << endl;
136 else if (ST.
stringcmp(argv[i],
"-subset_orbits_file") == 0) {
139 cout <<
"-subset_orbits_fname " << endl;
141 else if (ST.
stringcmp(argv[i],
"-down_orbits") == 0) {
143 cout <<
"-down_orbits " << endl;
145 else if (ST.
stringcmp(argv[i],
"-prefix_iso") == 0) {
150 else if (ST.
stringcmp(argv[i],
"-prefix_with_directory") == 0) {
155 else if (ST.
stringcmp(argv[i],
"-end") == 0) {
156 cout <<
"-end" << endl;
160 cout <<
"isomorph_arguments::read_arguments "
161 "unrecognized option " << argv[i] << endl;
164 cout <<
"isomorph_arguments::read_arguments done" << endl;
175 void (*callback_report)(
isomorph *Iso,
void *data,
int verbose_level),
176 void (*callback_subset_orbits)(
isomorph *Iso,
void *data,
int verbose_level),
180 int f_v = (verbose_level >= 1);
183 cout <<
"isomorph_arguments::init" << endl;
198 cout <<
"isomorph_arguments::init please "
199 "use -solution_prefix <solution_prefix>" << endl;
203 cout <<
"isomorph_arguments::init please "
204 "use -base_fname <base_fname>" << endl;
211 cout <<
"isomorph_arguments::init done" << endl;
216void isomorph_arguments::execute(
int verbose_level)
218 int f_v = (verbose_level >= 1);
222 cout <<
"isomorph_arguments::execute" << endl;
226 cout <<
"isomorph_arguments::execute please "
227 "call init before execute" << endl;
234 cout <<
"isomorph_arguments::execute build_db" << endl;
235 cout <<
"isomorph_arguments::execute before isomorph_build_db" << endl;
237 isomorph_build_db(
A,
A,
gen,
241 cout <<
"isomorph_arguments::execute after isomorph_build_db" << endl;
256 cout <<
"isomorph_arguments::execute before isomorph_read_solution_files" << endl;
258 isomorph_read_solution_files(
A,
A2,
gen,
266 cout <<
"isomorph_arguments::execute after isomorph_read_solution_files" << endl;
282 cout <<
"isomorph_arguments::execute before isomorph_read_solution_files_from_clique_finder" << endl;
284 isomorph_read_solution_files_from_clique_finder(
288 &fname1, 1 , verbose_level);
290 cout <<
"isomorph_arguments::execute after isomorph_read_solution_files_from_clique_finder" << endl;
297 cout <<
"f_read_solutions_from_clique_finder_list_of_cases" << endl;
299 long int *list_of_cases;
303 cout <<
"isomorph_arguments::execute before Fio.read_set_from_file" << endl;
306 list_of_cases, nb_cases, verbose_level);
308 cout <<
"nb_cases=" << nb_cases << endl;
314 fname =
new string[nb_cases];
315 for (i = 0; i < nb_cases; i++) {
316 c = list_of_cases[i];
319 sprintf(str,
"_solutions_%d.txt", c);
323 fname[i].append(str);
327 cout <<
"isomorph_arguments::execute before "
328 "isomorph_read_solution_files_from_clique_finder_case_by_case" << endl;
330 isomorph_read_solution_files_from_clique_finder_case_by_case(
A,
A2,
gen,
332 fname, list_of_cases, nb_cases, verbose_level);
358 fname[i].append(str);
362 cout <<
"Reading the following " << nb_files <<
" files:" << endl;
363 for (i = 0; i < nb_files; i++) {
364 cout << i <<
" : " << fname[i] << endl;
371 cout <<
"isomorph_arguments::execute before "
372 "isomorph_read_solution_files_from_clique_finder" << endl;
376 isomorph_read_solution_files_from_clique_finder(
A,
A2,
gen,
378 fname, nb_files, verbose_level);
388 cout <<
"f_read_statistics_after_split" << endl;
409 fname[i].append(str);
413 cout <<
"Reading the following " << nb_files <<
" files:" << endl;
414 for (i = 0; i < nb_files; i++) {
415 cout << i <<
" : " << fname[i] << endl;
421 cout <<
"isomorph_arguments::execute before "
422 "isomorph_read_statistic_files" << endl;
424 isomorph_read_statistic_files(
A,
A2,
gen,
427 fname, nb_files, verbose_level);
437 cout <<
"isomorph_arguments::execute before "
438 "isomorph_compute_orbits" << endl;
440 isomorph_compute_orbits(
A,
A2,
gen,
444 cout <<
"isomorph_arguments::execute after "
445 "isomorph_compute_orbits" << endl;
452 cout <<
"isomorph_arguments::execute before isomorph_testing" << endl;
454 isomorph_testing(
A,
A2,
gen,
460 cout <<
"isomorph_arguments::execute after isomorph_testing" << endl;
466 cout <<
"isomorph_arguments::execute before "
467 "isomorph_classification_graph" << endl;
469 isomorph_classification_graph(
A,
A2,
gen,
475 cout <<
"isomorph_arguments::execute after "
476 "isomorph_classification_graph" << endl;
482 cout <<
"isomorph_arguments::execute "
483 "callback_report == NULL" << endl;
487 cout <<
"isomorph_arguments::execute before isomorph_worker" << endl;
489 isomorph_worker(
A,
A2,
gen,
494 cout <<
"isomorph_arguments::execute after isomorph_worker" << endl;
499 isomorph_worker_data WD;
507 WD.the_set, WD.set_size, verbose_level);
510 cout <<
"isomorph_arguments::execute before isomorph_worker" << endl;
512 isomorph_worker(
A,
A2,
gen,
517 cout <<
"isomorph_arguments::execute after isomorph_worker" << endl;
527 cout <<
"isomorph_arguments::execute before isomorph_compute_down_orbits" << endl;
529 isomorph_compute_down_orbits(
A,
A2,
gen,
535 cout <<
"isomorph_arguments::execute after isomorph_compute_down_orbits" << endl;
541 cout <<
"isomorph_arguments::execute done" << endl;
a permutation group in a fixed action.
command line arguments to control the lifting via exact cover
std::string solution_prefix
int f_has_solution_prefix
int f_classification_graph
int read_arguments(int argc, std::string *argv, int verbose_level)
int(* final_test_function)(long int *data, int sz, void *final_test_data, int verbose_level)
poset_classification::poset_classification_control * Control
int f_init_has_been_called
std::string fname_list_of_cases
poset_classification::poset_classification * gen
int f_read_statistics_after_split
int f_read_solutions_from_clique_finder_list_of_cases
int read_solutions_split_m
void init(actions::action *A, actions::action *A2, poset_classification::poset_classification *gen, int target_size, poset_classification::poset_classification_control *Control, exact_cover_arguments *ECA, void(*callback_report)(isomorph *Iso, void *data, int verbose_level), void(*callback_subset_orbits)(isomorph *Iso, void *data, int verbose_level), void *callback_data, int verbose_level)
int f_read_solutions_after_split
int f_read_solutions_from_clique_finder
int f_has_final_test_function
exact_cover_arguments * ECA
void(* callback_subset_orbits)(isomorph *Iso, void *data, int verbose_level)
std::string prefix_with_directory
std::string event_file_name
int f_prefix_with_directory
void(* callback_report)(isomorph *Iso, void *data, int verbose_level)
std::string subset_orbits_fname
classification of combinatorial objects using subobjects
to control the behavior of the poset classification algorithm
the poset classification algorithm
the orbiter library for the classification of combinatorial objects