|
| ezMiniSAT () |
|
virtual | ~ezMiniSAT () |
|
virtual void | clear () |
|
virtual void | freeze (int id) |
|
virtual bool | eliminated (int idx) |
|
virtual bool | solver (const std::vector< int > &modelExpressions, std::vector< bool > &modelValues, const std::vector< int > &assumptions) |
|
void | keep_cnf () |
|
void | non_incremental () |
|
bool | mode_keep_cnf () const |
|
bool | mode_non_incremental () const |
|
int | value (bool val) |
|
int | literal () |
|
int | literal (const std::string &name) |
|
int | frozen_literal () |
|
int | frozen_literal (const std::string &name) |
|
int | expression (OpId op, int a=0, int b=0, int c=0, int d=0, int e=0, int f=0) |
|
int | expression (OpId op, const std::vector< int > &args) |
|
void | lookup_literal (int id, std::string &name) const |
|
const std::string & | lookup_literal (int id) const |
|
void | lookup_expression (int id, OpId &op, std::vector< int > &args) const |
|
const std::vector< int > & | lookup_expression (int id, OpId &op) const |
|
int | parse_string (const std::string &text) |
|
std::string | to_string (int id) const |
|
int | numLiterals () const |
|
int | numExpressions () const |
|
int | eval (int id, const std::vector< int > &values) const |
|
bool | solve (const std::vector< int > &modelExpressions, std::vector< bool > &modelValues, const std::vector< int > &assumptions) |
|
bool | solve (const std::vector< int > &modelExpressions, std::vector< bool > &modelValues, int a=0, int b=0, int c=0, int d=0, int e=0, int f=0) |
|
bool | solve (int a=0, int b=0, int c=0, int d=0, int e=0, int f=0) |
|
void | setSolverTimeout (int newTimeoutSeconds) |
|
bool | getSolverTimoutStatus () |
|
void | assume (int id) |
|
int | bind (int id, bool auto_freeze=true) |
|
int | bound (int id) const |
|
int | numCnfVariables () const |
|
int | numCnfClauses () const |
|
const std::vector< std::vector
< int > > & | cnf () const |
|
void | consumeCnf () |
|
void | consumeCnf (std::vector< std::vector< int >> &cnf) |
|
void | getFullCnf (std::vector< std::vector< int >> &full_cnf) const |
|
std::string | cnfLiteralInfo (int idx) const |
|
int | VAR (_V a) |
|
int | NOT (_V a) |
|
int | AND (_V a=0, _V b=0, _V c=0, _V d=0, _V e=0, _V f=0) |
|
int | OR (_V a=0, _V b=0, _V c=0, _V d=0, _V e=0, _V f=0) |
|
int | XOR (_V a=0, _V b=0, _V c=0, _V d=0, _V e=0, _V f=0) |
|
int | IFF (_V a, _V b=0, _V c=0, _V d=0, _V e=0, _V f=0) |
|
int | ITE (_V a, _V b, _V c) |
|
void | SET (_V a, _V b) |
|
std::vector< int > | vec_const (const std::vector< bool > &bits) |
|
std::vector< int > | vec_const_signed (int64_t value, int numBits) |
|
std::vector< int > | vec_const_unsigned (uint64_t value, int numBits) |
|
std::vector< int > | vec_var (int numBits) |
|
std::vector< int > | vec_var (std::string name, int numBits) |
|
std::vector< int > | vec_cast (const std::vector< int > &vec1, int toBits, bool signExtend=false) |
|
std::vector< int > | vec_not (const std::vector< int > &vec1) |
|
std::vector< int > | vec_and (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
std::vector< int > | vec_or (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
std::vector< int > | vec_xor (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
std::vector< int > | vec_iff (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
std::vector< int > | vec_ite (const std::vector< int > &vec1, const std::vector< int > &vec2, const std::vector< int > &vec3) |
|
std::vector< int > | vec_ite (int sel, const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
std::vector< int > | vec_count (const std::vector< int > &vec, int numBits, bool clip=true) |
|
std::vector< int > | vec_add (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
std::vector< int > | vec_sub (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
std::vector< int > | vec_neg (const std::vector< int > &vec) |
|
void | vec_cmp (const std::vector< int > &vec1, const std::vector< int > &vec2, int &carry, int &overflow, int &sign, int &zero) |
|
int | vec_lt_signed (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_le_signed (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_ge_signed (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_gt_signed (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_lt_unsigned (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_le_unsigned (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_ge_unsigned (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_gt_unsigned (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_eq (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
int | vec_ne (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
std::vector< int > | vec_shl (const std::vector< int > &vec1, int shift, bool signExtend=false) |
|
std::vector< int > | vec_srl (const std::vector< int > &vec1, int shift) |
|
std::vector< int > | vec_shr (const std::vector< int > &vec1, int shift, bool signExtend=false) |
|
std::vector< int > | vec_srr (const std::vector< int > &vec1, int shift) |
|
std::vector< int > | vec_shift (const std::vector< int > &vec1, int shift, int extend_left, int extend_right) |
|
std::vector< int > | vec_shift_right (const std::vector< int > &vec1, const std::vector< int > &vec2, bool vec2_signed, int extend_left, int extend_right) |
|
std::vector< int > | vec_shift_left (const std::vector< int > &vec1, const std::vector< int > &vec2, bool vec2_signed, int extend_left, int extend_right) |
|
void | vec_append (std::vector< int > &vec, const std::vector< int > &vec1) const |
|
void | vec_append_signed (std::vector< int > &vec, const std::vector< int > &vec1, int64_t value) |
|
void | vec_append_unsigned (std::vector< int > &vec, const std::vector< int > &vec1, uint64_t value) |
|
int64_t | vec_model_get_signed (const std::vector< int > &modelExpressions, const std::vector< bool > &modelValues, const std::vector< int > &vec1) const |
|
uint64_t | vec_model_get_unsigned (const std::vector< int > &modelExpressions, const std::vector< bool > &modelValues, const std::vector< int > &vec1) const |
|
int | vec_reduce_and (const std::vector< int > &vec1) |
|
int | vec_reduce_or (const std::vector< int > &vec1) |
|
void | vec_set (const std::vector< int > &vec1, const std::vector< int > &vec2) |
|
void | vec_set_signed (const std::vector< int > &vec1, int64_t value) |
|
void | vec_set_unsigned (const std::vector< int > &vec1, uint64_t value) |
|
struct ezSATbit | bit (_V a) |
|
struct ezSATvec | vec (const std::vector< int > &vec) |
|
void | printDIMACS (FILE *f, bool verbose=false) const |
|
void | printInternalState (FILE *f) const |
|
int | onehot (const std::vector< int > &vec, bool max_only=false) |
|
int | manyhot (const std::vector< int > &vec, int min_hot, int max_hot=-1) |
|
int | ordered (const std::vector< int > &vec1, const std::vector< int > &vec2, bool allow_equal=true) |
|