17 return "var("+std::to_string(v)+
")";
22 return "var("+std::to_string(v)+
")";
35 terminalst::iterator it=terminals.find(n);
37 if(it!=terminals.end())
40 assert(n<
nodes.size());
49 const std::set<literalt::var_not> &ta=
51 t.insert(ta.begin(), ta.end());
56 const std::set<literalt::var_not> &tb=
58 t.insert(tb.begin(), tb.end());
103 out <<
label(node_nr);\
109 out <<
"unknown(" << node_nr <<
")";
122 out << v <<
" [label=\"" << v <<
"\"]" <<
"\n";
128 out << v <<
" [label=\"" <<
dot_label(v) <<
"\"" 129 <<
",shape=box]" <<
"\n";
140 out <<
"TRUE -> " << v;
144 out <<
"TRUE -> " << v;
145 out <<
" [arrowhead=odiamond]";
149 out << l.
var_no() <<
" -> " << v;
151 out <<
" [arrowhead=odiamond]";
160 out <<
"TRUE [label=\"TRUE\", shape=box]" <<
"\n";
171 out <<
"n" << n <<
" = ";
const std::set< literalt::var_not > & get_terminals_rec(literalt::var_not n, terminalst &terminals) const
void output_dot(std::ostream &out) const
std::ostream & operator<<(std::ostream &out, const aigt &aig)
void print(std::ostream &out) const
unsignedbv_typet size_type()
nodest::size_type number_of_nodes() const
void output_dot_node(std::ostream &out, nodest::size_type v) const
std::string label(nodest::size_type v) const
literalt const_literal(bool value)
std::string dot_label(nodest::size_type v) const
void get_terminals(terminalst &terminals) const
std::set< literalt::var_not > terminal_sett
std::map< literalt::var_not, terminal_sett > terminalst
void output_dot_edge(std::ostream &out, nodest::size_type v, literalt l) const