1 #ifndef __AST_BOOL_HPP_DEFINED__ 2 #define __AST_BOOL_HPP_DEFINED__ 4 #include <boost/multiprecision/cpp_int.hpp> 5 #include <boost/python.hpp> 6 #include <boost/shared_ptr.hpp> 40 virtual bool equal(
const Node* that)
const;
41 virtual std::ostream&
write(std::ostream& out)
const;
61 virtual bool equal(
const Node* that)
const;
62 virtual boost::python::object
getValue()
const;
63 virtual std::ostream&
write(std::ostream& out)
const;
140 virtual bool equal(
const Node* that)
const;
143 virtual std::ostream&
write(std::ostream& out)
const;
146 virtual unsigned nArgs()
const;
static const std::string operatorNames[]
Definition: bool.hpp:111
static bool isUnary(Op op)
Definition: bool.hpp:118
static nptr_t true_node
Definition: bool.hpp:48
static nptr_t get(bool v)
Definition: bool.hpp:65
virtual bool equal(const Node *that) const
virtual Node * clone() const
Arity
Definition: bool.hpp:81
static int checkTernaryOpTypes(Op op, nptr_vec_t args_)
virtual bool equal(const Node *that) const
static nptr_t & negate(const nptr_t &n, rwmap_t &cache)
static bool checkUnaryOpTypes(Op op, const nptr_t &n)
std::vector< nptr_t > nptr_vec_t
Definition: node.hpp:27
std::string name
Definition: node.hpp:67
bool val() const
Definition: bool.hpp:73
boost::multiprecision::cpp_int mp_int_t
Definition: common.hpp:9
Op
Definition: bool.hpp:84
virtual Node * clone() const
BoolVar(const std::string &name)
virtual nptr_t arg(unsigned i) const
virtual std::ostream & write(std::ostream &out) const
boost::shared_ptr< Node > nptr_t
Definition: node.hpp:24
bool value
Definition: bool.hpp:51
enum ilasynth::BoolOp::Op op
virtual bool equal(const Node *that) const
Definition: abstraction.hpp:21
virtual std::ostream & write(std::ostream &out) const
static nptr_t false_node
Definition: bool.hpp:49
virtual unsigned nArgs() const
virtual std::ostream & write(std::ostream &out) const
virtual Node * clone() const
nptr_vec_t args
Definition: bool.hpp:114
static bool checkBinaryOpTypes(Op op, const nptr_t &n1, const nptr_t &n2)
static bool isBinary(Op op)
Definition: bool.hpp:119
static bool isTernary(Op op)
Definition: bool.hpp:120
Op getOp() const
Definition: bool.hpp:152
virtual boost::python::object getValue() const
BoolOp(Op op, const nptr_t &n1)
enum ilasynth::BoolOp::Arity arity
std::unordered_map< const Node *, nptr_t, decltype(&nodeHash), decltype(&nodeEqual)> rwmap_t
Definition: node.hpp:177