metaSMT git
|
SMT Qantifier Free Bit-Vector Theory. More...
Namespaces | |
namespace | tag |
tags for SMT metaSMT::logic::QF_BV | |
Classes | |
struct | QF_BV_Unary_Function |
struct | QF_BV_Binary_Function |
struct | QF_BV_Binary_Predicate |
struct | QF_BV_BitVector_Constrant |
struct | QF_BV_Grammar |
struct | QF_BV_Domain |
struct | QF_BV |
Typedefs | |
typedef proto::result_of::make_expr < tag::bvuint_tag, QF_BV_Domain, unsigned long, unsigned long >::type | bvuint_result_type |
typedef proto::result_of::make_expr < tag::bvsint_tag, QF_BV_Domain, long, unsigned long >::type | bvsint_result_type |
typedef proto::result_of::make_expr < proto::tag::terminal, QF_BV_Domain, tag::var_tag > ::type | bitvector |
Functions | |
template<typename Expr > | |
void | check (QF_BV< Expr > const &) |
template<typename Expr > | |
void | check_not (QF_BV< Expr > const &) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvand_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvand (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvnand_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvnand (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvor_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvor (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvnor_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvnor (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvxor_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvxor (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvxnor_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvxnor (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvadd_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvadd (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvmul_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvmul (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvsub_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvsub (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvudiv_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvudiv (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvurem_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvurem (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvsdiv_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvsdiv (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvsrem_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvsrem (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvcomp_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvcomp (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvslt_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvslt (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvsgt_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvsgt (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvsle_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvsle (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvsge_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvsge (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvult_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvult (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvugt_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvugt (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvule_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvule (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvuge_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvuge (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvshl_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvshl (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvshr_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvshr (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvashr_tag, QF_BV_Domain, E1 const &, E2 const & >::type | bvashr (E1 const &e1, E2 const &e2) |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::concat_tag, QF_BV_Domain, E1 const &, E2 const & >::type | concat (E1 const &e1, E2 const &e2) |
template<typename E1 > | |
proto::result_of::make_expr < tag::bvnot_tag, QF_BV_Domain, E1 const & >::type | bvnot (E1 const &e1) |
template<typename E1 > | |
proto::result_of::make_expr < tag::bvneg_tag, QF_BV_Domain, E1 const & >::type | bvneg (E1 const &e1) |
template<typename Expr > | |
proto::result_of::make_expr < tag::extract_tag, QF_BV_Domain, unsigned long const &, unsigned long const &, Expr const & >::type | extract (unsigned long const &from, unsigned long const &width, Expr const &e) |
template<typename Expr > | |
proto::result_of::make_expr < tag::zero_extend_tag, QF_BV_Domain, unsigned long const &, Expr const & >::type | zero_extend (unsigned long const &howMany, Expr const &e) |
template<typename Expr > | |
proto::result_of::make_expr < tag::sign_extend_tag, QF_BV_Domain, unsigned long const &, Expr const & >::type | sign_extend (unsigned long const &howMany, Expr const &e) |
bvuint_result_type | bvuint (unsigned long const &value, unsigned long const &width) |
bvsint_result_type | bvsint (long const &value, long unsigned const &width) |
template<typename Integer > | |
boost::enable_if< typename boost::mpl::and_ < boost::is_integral< Integer > , boost::is_signed< Integer > >::type, bvsint_result_type > ::type | bvint (Integer value, unsigned long const &width) |
proto::result_of::make_expr < tag::bvbin_tag, QF_BV_Domain, std::string const & >::type | bvbin (std::string const &value) |
proto::result_of::make_expr < tag::bvhex_tag, QF_BV_Domain, std::string const & >::type | bvhex (std::string const &value) |
bitvector | new_bitvector (unsigned width=1) |
Variables | |
QF_BV< proto::terminal < tag::bit0_tag >::type > const | bit0 |
QF_BV< proto::terminal < tag::bit1_tag >::type > const | bit1 |
SMT Qantifier Free Bit-Vector Theory.
void metaSMT::logic::QF_BV::check | ( | QF_BV< Expr > const & | ) |