assign_clause_id | fprint_clause_id_tab | insert_clause_into_plist | unassign_clause_id |
find_clause_by_id | has_clause_id | p_clause_id_tab |
void assign_clause_id(Clause c);This routine assigns a unique identifier to the id field of a clause. It also inserts the clause into a hash table so that given an id number, the corresponding clause can be retrieved quickly (see find_clause_by_id()).
Clause find_clause_by_id(int id);This routine retrieves the clause with the given ID number (or NULL, if there is no such clause).
void fprint_clause_id_tab(FILE *fp);This routine prints (to FILE *fp) all the clauses in the ID hash table.
BOOL has_clause_id(Clause c);This function checks if a clause has been assigned an ID.
Plist insert_clause_into_plist(Plist p, Clause c, BOOL increasing);This routine inserts a clause into a sorted (by ID) Plist of clauses. Boolean paramemeter "increasing" tells whether the list is increasing or decreasing. The updated Plist is returned. If the clause is already there, nothing happens.
void p_clause_id_tab();This routine prints (to stdout) all the clauses in the ID hash table.
void unassign_clause_id(Clause c);This routine removes a clause from the ID hash table and resets the ID of the clause to 0. A fatal error occurs if the clause has not been assigned an ID.
These activities are projects of the Mathematics and Computer Science Division of Argonne National Laboratory.