示例#1
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_fail_if_not_decided(Z3_context c) {
     Z3_TRY;
     LOG_Z3_tactic_fail_if_not_decided(c);
     RESET_ERROR_CODE();
     tactic * new_t = mk_fail_if_undecided_tactic();
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#2
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_skip(Z3_context c) {
     Z3_TRY;
     LOG_Z3_tactic_skip(c);
     RESET_ERROR_CODE();
     tactic * new_t = mk_skip_tactic();
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#3
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_fail_if(Z3_context c, Z3_probe p) {
     Z3_TRY;
     LOG_Z3_tactic_fail_if(c, p);
     RESET_ERROR_CODE();
     tactic * new_t = fail_if(to_probe_ref(p));
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#4
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_cond(Z3_context c, Z3_probe p, Z3_tactic t1, Z3_tactic t2) {
     Z3_TRY;
     LOG_Z3_tactic_cond(c, p, t1, t2);
     RESET_ERROR_CODE();
     tactic * new_t = cond(to_probe_ref(p), to_tactic_ref(t1), to_tactic_ref(t2));
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#5
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_repeat(Z3_context c, Z3_tactic t, unsigned max) {
     Z3_TRY;
     LOG_Z3_tactic_repeat(c, t, max);
     RESET_ERROR_CODE();
     tactic * new_t = repeat(to_tactic_ref(t), max);
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#6
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_when(Z3_context c, Z3_probe p, Z3_tactic t) {
     Z3_TRY;
     LOG_Z3_tactic_when(c, p, t);
     RESET_ERROR_CODE();
     tactic * new_t = when(to_probe_ref(p), to_tactic_ref(t));
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#7
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_try_for(Z3_context c, Z3_tactic t, unsigned ms) {
     Z3_TRY;
     LOG_Z3_tactic_try_for(c, t, ms);
     RESET_ERROR_CODE();
     tactic * new_t = try_for(to_tactic_ref(t), ms);
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#8
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_par_and_then(Z3_context c, Z3_tactic t1, Z3_tactic t2) {
     Z3_TRY;
     LOG_Z3_tactic_par_and_then(c, t1, t2);
     RESET_ERROR_CODE();
     tactic * new_t = par_and_then(to_tactic_ref(t1), to_tactic_ref(t2));
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#9
0
 Z3_tactic Z3_API Z3_tactic_using_params(Z3_context c, Z3_tactic t, Z3_params p) {
     Z3_TRY;
     LOG_Z3_tactic_using_params(c, t, p);
     RESET_ERROR_CODE();
     tactic * new_t = using_params(to_tactic_ref(t), to_param_ref(p));
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#10
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_using_params(Z3_context c, Z3_tactic t, Z3_params p) {
     Z3_TRY;
     LOG_Z3_tactic_using_params(c, t, p);
     RESET_ERROR_CODE();
     param_descrs r;
     to_tactic_ref(t)->collect_param_descrs(r);
     to_param_ref(p).validate(r);
     tactic * new_t = using_params(to_tactic_ref(t), to_param_ref(p));
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#11
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_tactic_par_or(Z3_context c, unsigned num, Z3_tactic const ts[]) {
     Z3_TRY;
     LOG_Z3_tactic_par_or(c, num, ts);
     RESET_ERROR_CODE();
     ptr_buffer<tactic> _ts;
     for (unsigned i = 0; i < num; i++) {
         _ts.push_back(to_tactic_ref(ts[i]));
     }
     tactic * new_t = par(num, _ts.c_ptr());
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }
示例#12
0
文件: api_tactic.cpp 项目: EinNarr/z3
 Z3_tactic Z3_API Z3_mk_tactic(Z3_context c, Z3_string name) {
     Z3_TRY;
     LOG_Z3_mk_tactic(c, name);
     RESET_ERROR_CODE();
     tactic_cmd * t = mk_c(c)->find_tactic_cmd(symbol(name));
     if (t == 0) {
         SET_ERROR_CODE(Z3_INVALID_ARG);
         RETURN_Z3(0);
     }
     tactic * new_t = t->mk(mk_c(c)->m());
     RETURN_TACTIC(new_t);
     Z3_CATCH_RETURN(0);
 }