metaSMT git
Namespaces | Classes | Typedefs | Functions | Variables

metaSMT::logic::QF_BV Namespace Reference

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

Detailed Description

SMT Qantifier Free Bit-Vector Theory.


Function Documentation

template<typename Expr >
void metaSMT::logic::QF_BV::check ( QF_BV< Expr > const &  )

Definition at line 147 of file QF_BV.hpp.

template<typename Expr >
void metaSMT::logic::QF_BV::check_not ( QF_BV< Expr > const &  )

Definition at line 151 of file QF_BV.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines