metaSMT git
|
Defines | |
#define | _QF_BV_BINARY_FUNCTION(NAME_, TAG_) |
#define | _QF_BV_UNARY_FUNCTION(NAME_, TAG_) |
Typedefs | |
typedef proto::result_of::make_expr < tag::bvuint_tag, QF_BV_Domain, unsigned long, unsigned long >::type | metaSMT::logic::QF_BV::bvuint_result_type |
typedef proto::result_of::make_expr < tag::bvsint_tag, QF_BV_Domain, long, unsigned long >::type | metaSMT::logic::QF_BV::bvsint_result_type |
typedef proto::result_of::make_expr < proto::tag::terminal, QF_BV_Domain, tag::var_tag > ::type | metaSMT::logic::QF_BV::bitvector |
Functions | |
template<typename E1 , typename E2 > | |
proto::result_of::make_expr < tag::bvand_tag, QF_BV_Domain, E1 const &, E2 const & >::type | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::concat (E1 const &e1, E2 const &e2) |
template<typename E1 > | |
proto::result_of::make_expr < tag::bvnot_tag, QF_BV_Domain, E1 const & >::type | metaSMT::logic::QF_BV::bvnot (E1 const &e1) |
template<typename E1 > | |
proto::result_of::make_expr < tag::bvneg_tag, QF_BV_Domain, E1 const & >::type | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::sign_extend (unsigned long const &howMany, Expr const &e) |
bvuint_result_type | metaSMT::logic::QF_BV::bvuint (unsigned long const &value, unsigned long const &width) |
bvsint_result_type | metaSMT::logic::QF_BV::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 | metaSMT::logic::QF_BV::bvint (Integer value, unsigned long const &width) |
proto::result_of::make_expr < tag::bvbin_tag, QF_BV_Domain, std::string const & >::type | metaSMT::logic::QF_BV::bvbin (std::string const &value) |
proto::result_of::make_expr < tag::bvhex_tag, QF_BV_Domain, std::string const & >::type | metaSMT::logic::QF_BV::bvhex (std::string const &value) |
bitvector | metaSMT::logic::QF_BV::new_bitvector (unsigned width=1) |
Variables | |
QF_BV< proto::terminal < tag::bit0_tag >::type > const | metaSMT::logic::QF_BV::bit0 |
QF_BV< proto::terminal < tag::bit1_tag >::type > const | metaSMT::logic::QF_BV::bit1 |
#define _QF_BV_BINARY_FUNCTION | ( | NAME_, | |
TAG_ | |||
) |
template<typename E1, typename E2> \ typename proto::result_of::make_expr< TAG_, QF_BV_Domain, E1 const &, E2 const & >::type \ NAME_( E1 const& e1, E2 const & e2 ) \ { \ return proto::make_expr< TAG_, QF_BV_Domain >(boost::cref(e1), boost::cref(e2));\ }
#define _QF_BV_UNARY_FUNCTION | ( | NAME_, | |
TAG_ | |||
) |
typedef proto::result_of::make_expr< proto::tag::terminal, QF_BV_Domain , tag::var_tag >::type metaSMT::logic::QF_BV::bitvector |
typedef proto::result_of::make_expr< tag::bvsint_tag, QF_BV_Domain , long , unsigned long >::type metaSMT::logic::QF_BV::bvsint_result_type |
typedef proto::result_of::make_expr< tag::bvuint_tag, QF_BV_Domain , unsigned long , unsigned long >::type metaSMT::logic::QF_BV::bvuint_result_type |
proto::result_of::make_expr< tag::bvadd_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvadd | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvand_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvand | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvashr_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvashr | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvbin_tag, QF_BV_Domain , std::string const & >::type metaSMT::logic::QF_BV::bvbin | ( | std::string const & | value | ) | [inline] |
proto::result_of::make_expr< tag::bvcomp_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvcomp | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvhex_tag, QF_BV_Domain , std::string const & >::type metaSMT::logic::QF_BV::bvhex | ( | std::string const & | value | ) | [inline] |
boost::enable_if< typename boost::mpl::and_< boost::is_integral< Integer >, boost::mpl::not_< boost::is_signed< Integer > > >::type, bvuint_result_type >::type metaSMT::logic::QF_BV::bvint | ( | Integer | value, |
unsigned long const & | width | ||
) |
proto::result_of::make_expr< tag::bvmul_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvmul | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvnand_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvnand | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvneg_tag , QF_BV_Domain, E1 const &>::type metaSMT::logic::QF_BV::bvneg | ( | E1 const & | e1 | ) |
proto::result_of::make_expr< tag::bvnor_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvnor | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvnot_tag , QF_BV_Domain, E1 const &>::type metaSMT::logic::QF_BV::bvnot | ( | E1 const & | e1 | ) |
proto::result_of::make_expr< tag::bvor_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvor | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvsdiv_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvsdiv | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvsge_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvsge | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvsgt_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvsgt | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvshl_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvshl | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvshr_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvshr | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
bvsint_result_type metaSMT::logic::QF_BV::bvsint | ( | long const & | value, |
long unsigned const & | width | ||
) | [inline] |
proto::result_of::make_expr< tag::bvsle_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvsle | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvslt_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvslt | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvsrem_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvsrem | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvsub_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvsub | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvudiv_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvudiv | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvuge_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvuge | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvugt_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvugt | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
bvuint_result_type metaSMT::logic::QF_BV::bvuint | ( | unsigned long const & | value, |
unsigned long const & | width | ||
) | [inline] |
proto::result_of::make_expr< tag::bvule_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvule | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvult_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvult | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvurem_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvurem | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvxnor_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvxnor | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::bvxor_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::bvxor | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::concat_tag , QF_BV_Domain, E1 const &, E2 const & >::type metaSMT::logic::QF_BV::concat | ( | E1 const & | e1, |
E2 const & | e2 | ||
) |
proto::result_of::make_expr< tag::extract_tag, QF_BV_Domain , unsigned long const & , unsigned long const & , Expr const & >::type metaSMT::logic::QF_BV::extract | ( | unsigned long const & | from, |
unsigned long const & | width, | ||
Expr const & | e | ||
) | [inline] |
bitvector metaSMT::logic::QF_BV::new_bitvector | ( | unsigned | width = 1 | ) | [inline] |
proto::result_of::make_expr< tag::sign_extend_tag, QF_BV_Domain , unsigned long const & , Expr const & >::type metaSMT::logic::QF_BV::sign_extend | ( | unsigned long const & | howMany, |
Expr const & | e | ||
) | [inline] |
proto::result_of::make_expr< tag::zero_extend_tag, QF_BV_Domain , unsigned long const & , Expr const & >::type metaSMT::logic::QF_BV::zero_extend | ( | unsigned long const & | howMany, |
Expr const & | e | ||
) | [inline] |
QF_BV<proto::terminal<tag::bit0_tag>::type > const metaSMT::logic::QF_BV::bit0 |
QF_BV<proto::terminal<tag::bit1_tag>::type > const metaSMT::logic::QF_BV::bit1 |