void init_rule_inst_table(rule_inst_table_t *table){ table->size = INIT_RULE_INST_TABLE_SIZE; table->num_rule_insts = 0; if (table->size >= MAXSIZE(sizeof(rule_inst_t *), 0)){ out_of_memory(); } table->rule_insts = (rule_inst_t **) safe_malloc(table->size * sizeof(rule_inst_t *)); table->assignment = (samp_truth_value_t *) safe_malloc( table->size * sizeof(samp_truth_value_t)); table->watched = (samp_clause_list_t *) safe_malloc( 2 * INIT_ATOM_TABLE_SIZE * sizeof(samp_clause_list_t)); table->rule_watched = (samp_clause_list_t *) safe_malloc( table->size * sizeof(samp_clause_list_t)); init_clause_list(&table->sat_clauses); init_clause_list(&table->unsat_clauses); init_clause_list(&table->live_clauses); init_hmap(&table->unsat_soft_rules, HMAP_DEFAULT_SIZE); }
int main(int argc, char **argv) { optparse(argc, argv); /* set g_conf options */ if (isatty(STDIN_FILENO)) watch_user_input(); update_status(FCOPY_START); init_file(g_conf.infile_name, g_conf.outfile_name); config(); /* configure g_conf options */ init_hmap(g_conf.hmap_size); update_status(TAGDUP_START); tag_duplicates(); destroy_hmap(); update_status(FCLEAN_START); remove_duplicates(); destroy_file(); return (0); }