metaSMT 2
|
#include <BitBlast.hpp>
Public Types | |
typedef PredicateSolver::result_type | result_base |
typedef std::vector< result_base > | bv_result |
typedef boost::mpl::vector2 < result_base, bv_result > ::type | result_types_vec |
typedef boost::make_variant_over < result_types_vec >::type | result_type |
Public Member Functions | |
void | assertion (result_type e) |
void | assumption (result_type e) |
bool | solve () |
result_type | operator() (bvtags::var_tag var, boost::any arg) |
result_type | operator() (bvtags::bvand_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvnand_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvor_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvnor_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvnot_tag, result_type arg1) |
result_type | operator() (bvtags::bvxor_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvxnor_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvult_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvugt_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvsgt_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvslt_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvule_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvuge_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvsge_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvsle_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvadd_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvmul_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvneg_tag, result_type arg1) |
result_type | operator() (bvtags::bvudiv_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvsdiv_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvsrem_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvhex_tag, boost::any arg) |
result_type | operator() (bvtags::bvurem_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvsub_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvcomp_tag, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::zero_extend_tag, unsigned width, result_type arg1) |
result_type | operator() (bvtags::sign_extend_tag, unsigned width, result_type arg1) |
result_type | operator() (predtags::equal_tag eq, result_type arg1, result_type arg2) |
result_type | operator() (predtags::nequal_tag neq, result_type arg1, result_type arg2) |
result_type | operator() (bvtags::bvbin_tag, boost::any arg) |
result_type | operator() (bvtags::bvuint_tag, boost::any arg) |
result_type | operator() (bvtags::bvsint_tag, boost::any arg) |
result_type | operator() (bvtags::bit0_tag, boost::any arg) |
result_type | operator() (bvtags::bit1_tag, boost::any arg) |
result_type | operator() (bvtags::bvshr_tag, result_type arg1, result_type value) |
result_type | operator() (bvtags::bvshl_tag, result_type arg1, result_type value) |
result_type | operator() (bvtags::bvashr_tag, result_type arg1, result_type value) |
result_type | operator() (predtags::ite_tag, result_type arg1, result_type arg2, result_type arg3) |
result_type | operator() (bvtags::extract_tag const &, unsigned long upper, unsigned long lower, result_type e) |
result_type | operator() (bvtags::concat_tag const &, result_type e1, result_type e2) |
result_wrapper | read_value (result_type var) |
result_wrapper | read_value (result_base var) |
result_wrapper | read_value (bv_result const &vars) |
template<typename TagT , typename Any > | |
result_type | operator() (TagT tag, Any args) |
template<typename TagT > | |
result_type | operator() (TagT tag, result_type a) |
template<typename TagT > | |
result_type | operator() (TagT tag, result_type a, result_type b) |
template<typename TagT > | |
result_type | operator() (TagT tag, result_type a, result_type b, result_type c) |
void | command (BitBlast< PredicateSolver > const &) |
Definition at line 21 of file BitBlast.hpp.
typedef std::vector< result_base > metaSMT::BitBlast< PredicateSolver >::bv_result |
Definition at line 24 of file BitBlast.hpp.
typedef PredicateSolver::result_type metaSMT::BitBlast< PredicateSolver >::result_base |
Definition at line 23 of file BitBlast.hpp.
typedef boost::make_variant_over< result_types_vec >::type metaSMT::BitBlast< PredicateSolver >::result_type |
Definition at line 31 of file BitBlast.hpp.
typedef boost::mpl::vector2< result_base, bv_result >::type metaSMT::BitBlast< PredicateSolver >::result_types_vec |
Definition at line 28 of file BitBlast.hpp.
void metaSMT::BitBlast< PredicateSolver >::assertion | ( | result_type | e | ) | [inline] |
Definition at line 34 of file BitBlast.hpp.
void metaSMT::BitBlast< PredicateSolver >::assumption | ( | result_type | e | ) | [inline] |
Definition at line 38 of file BitBlast.hpp.
void metaSMT::BitBlast< PredicateSolver >::command | ( | BitBlast< PredicateSolver > const & | ) | [inline] |
Definition at line 961 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | TagT | tag, |
result_type | a, | ||
result_type | b | ||
) | [inline] |
Definition at line 934 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | TagT | tag, |
result_type | a | ||
) | [inline] |
Definition at line 927 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvhex_tag | , |
boost::any | arg | ||
) | [inline] |
Definition at line 502 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::var_tag | var, |
boost::any | arg | ||
) | [inline] |
Definition at line 46 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvnor_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 101 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvule_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 292 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::concat_tag const & | , |
result_type | e1, | ||
result_type | e2 | ||
) | [inline] |
Definition at line 870 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::extract_tag const & | , |
unsigned long | upper, | ||
unsigned long | lower, | ||
result_type | e | ||
) | [inline] |
Definition at line 860 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | predtags::ite_tag | , |
result_type | arg1, | ||
result_type | arg2, | ||
result_type | arg3 | ||
) | [inline] |
Definition at line 833 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvashr_tag | , |
result_type | arg1, | ||
result_type | value | ||
) | [inline] |
Definition at line 811 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvshl_tag | , |
result_type | arg1, | ||
result_type | value | ||
) | [inline] |
Definition at line 791 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvshr_tag | , |
result_type | arg1, | ||
result_type | value | ||
) | [inline] |
Definition at line 770 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bit1_tag | , |
boost::any | arg | ||
) | [inline] |
Definition at line 765 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bit0_tag | , |
boost::any | arg | ||
) | [inline] |
Definition at line 760 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvsint_tag | , |
boost::any | arg | ||
) | [inline] |
Definition at line 744 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvuint_tag | , |
boost::any | arg | ||
) | [inline] |
Definition at line 727 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | predtags::equal_tag | eq, |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 656 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | predtags::nequal_tag | neq, |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 683 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvuge_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 330 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::sign_extend_tag | , |
unsigned | width, | ||
result_type | arg1 | ||
) | [inline] |
Definition at line 645 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::zero_extend_tag | , |
unsigned | width, | ||
result_type | arg1 | ||
) | [inline] |
Definition at line 636 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvcomp_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 627 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvsub_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 620 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvurem_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 615 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvugt_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 193 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvsrem_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 497 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | TagT | tag, |
Any | args | ||
) | [inline] |
Definition at line 916 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvudiv_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 487 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvneg_tag | , |
result_type | arg1 | ||
) | [inline] |
Definition at line 475 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvmul_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 457 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvadd_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 430 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvsle_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 398 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvbin_tag | , |
boost::any | arg | ||
) | [inline] |
Definition at line 711 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvnot_tag | , |
result_type | arg1 | ||
) | [inline] |
Definition at line 116 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvsge_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 364 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvslt_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 259 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvsgt_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 225 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvult_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 161 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvsdiv_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 492 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvxnor_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 145 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvand_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 55 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvxor_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 130 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | TagT | tag, |
result_type | a, | ||
result_type | b, | ||
result_type | c | ||
) | [inline] |
Definition at line 947 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvor_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 86 of file BitBlast.hpp.
result_type metaSMT::BitBlast< PredicateSolver >::operator() | ( | bvtags::bvnand_tag | , |
result_type | arg1, | ||
result_type | arg2 | ||
) | [inline] |
Definition at line 71 of file BitBlast.hpp.
result_wrapper metaSMT::BitBlast< PredicateSolver >::read_value | ( | result_base | var | ) | [inline] |
Definition at line 891 of file BitBlast.hpp.
result_wrapper metaSMT::BitBlast< PredicateSolver >::read_value | ( | bv_result const & | vars | ) | [inline] |
Definition at line 896 of file BitBlast.hpp.
result_wrapper metaSMT::BitBlast< PredicateSolver >::read_value | ( | result_type | var | ) | [inline] |
Definition at line 882 of file BitBlast.hpp.
bool metaSMT::BitBlast< PredicateSolver >::solve | ( | ) | [inline] |
Definition at line 42 of file BitBlast.hpp.