00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #include "espresso.h"
00011
00012
00013
00014
00015
00016 unsigned int debug;
00017 bool verbose_debug;
00018 char *total_name[TIME_COUNT];
00019 long total_time[TIME_COUNT];
00020 int total_calls[TIME_COUNT];
00021
00022 bool echo_comments;
00023 bool echo_unknown_commands;
00024 bool force_irredundant;
00025 bool skip_make_sparse;
00026 bool kiss;
00027 bool pos;
00028 bool print_solution;
00029 bool recompute_onset;
00030 bool remove_essential;
00031 bool single_expand;
00032 bool summary;
00033 bool trace;
00034 bool unwrap_onset;
00035 bool use_random_order;
00036 bool use_super_gasp;
00037 char *filename;
00038
00039 struct pla_types_struct pla_types[] = {
00040 "-f", F_type,
00041 "-r", R_type,
00042 "-d", D_type,
00043 "-fd", FD_type,
00044 "-fr", FR_type,
00045 "-dr", DR_type,
00046 "-fdr", FDR_type,
00047 "-fc", F_type | CONSTRAINTS_type,
00048 "-rc", R_type | CONSTRAINTS_type,
00049 "-dc", D_type | CONSTRAINTS_type,
00050 "-fdc", FD_type | CONSTRAINTS_type,
00051 "-frc", FR_type | CONSTRAINTS_type,
00052 "-drc", DR_type | CONSTRAINTS_type,
00053 "-fdrc", FDR_type | CONSTRAINTS_type,
00054 "-pleasure", PLEASURE_type,
00055 "-eqn", EQNTOTT_type,
00056 "-eqntott", EQNTOTT_type,
00057 "-kiss", KISS_type,
00058 "-cons", CONSTRAINTS_type,
00059 "-scons", SYMBOLIC_CONSTRAINTS_type,
00060 0, 0
00061 };
00062
00063
00064 struct cube_struct cube, temp_cube_save;
00065 struct cdata_struct cdata, temp_cdata_save;
00066
00067 int bit_count[256] = {
00068 0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4,1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,
00069 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
00070 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
00071 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
00072 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5,2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,
00073 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
00074 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6,3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,
00075 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7,4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8
00076 };