contains the class Term and further functions to manipulate terms More...
#include "term.h"
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) |
Variables | |
uint64_t | size_terms |
uint64_t | current_terms |
Term ** | term_table |
static std::stack< const Var * > | vstack |
used to build a term More... | |
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* |
Remainder of t divided by v
t | Term* |
v | Var* |
uint64_t current_terms |
uint64_t size_terms |
Term** term_table |
|
static |
used to build a term