next up previous contents
Next: 5.3 Simplification and satisfiability Up: 5 Querying Existing Relations Previous: 5.1 Relations during and

5.2 Printing

The simplest way to examine a relation is to print it to the screen or to a file. The following member functions of Relation print relations in a number of different ways.

void Relation::print()
void Relation::print(FILE *output_file)
A basic function to print the relation for humans to read.
void Relation::print_with_subs(FILE *output_file, bool printSym=false)
String Relation::print_with_subs_to_string(bool printSym=false)
These functions attempt to print the relation in an easy-to-understand format. At each input variable and output variable, they try to print the variable as an affine function of the variables to the left. The variable printSym controls whether the set of symbolic variables used in the relation are printed.
void Relation::prefix_print(FILE *output_file)
This is a print function used primarily to debug programs that use the library. It is designed to make clear the structure of the formula tree and show the details of the variables used in the formula.
void Relation::prefix_print()
This is the same as the other version of prefix_print, but it prints to stdout.
String Relation::print_formula_to_string()
This allows you to extract a printed representation of the relation's formula, without the input and output variables being printed.