contains the class Term and further functions to manipulate terms More...
Go to the source code of this file.
Classes | |
class | Term |
Functions | |
uint64_t | compute_hash_term (const Var *variable, const Term *rest) |
void | enlarge_terms () |
Term * | new_term (const Var *variable, Term *rest) |
void | deallocate_term (Term *t) |
void | deallocate_terms () |
void | add_to_vstack (const Var *v) |
Term * | build_term_from_stack () |
Term * | multiply_term (Term *t1, Term *t2) |
Term * | remainder (const Term *t, const Var *v) |
contains the class Term and further functions to manipulate terms
Part of AMulet2.0 : AIG Multiplier Verification Tool. Copyright (C) 2020 Daniela Kaufmann, Johannes Kepler University Linz
void add_to_vstack | ( | const Var * | v | ) |
Pushes a variable to the variable stack, thus variables have to be pushed in order
v | Var* |
Term* build_term_from_stack | ( | ) |
Generates a term from the variable stack
Compute hash_values
variable | Variable* |
rest | Term* |
void deallocate_term | ( | Term * | t | ) |
Decrements the reference count of a term, and actually deletes a term if its reference count goes to zero. In this case it also removes it from the hash table and applies the same procedure to the suffix 'rest'.
t | Term* |
void deallocate_terms | ( | ) |
Deallocates the hash table "term_table"
void enlarge_terms | ( | ) |
Enlarges the hash table
Multiplies two terms
t1 | Term* |
t2 | Term* |
Builds a term, where variable is added at the front of rest
variable | Variable* |
rest | Term* |