コード例 #1
0
ファイル: api_solver.cpp プロジェクト: levnach/z3
 Z3_solver Z3_API Z3_mk_solver(Z3_context c) {
     Z3_TRY;
     LOG_Z3_mk_solver(c);
     RESET_ERROR_CODE();
     Z3_solver_ref * s = alloc(Z3_solver_ref, *mk_c(c), mk_smt_strategic_solver_factory());
     mk_c(c)->save_object(s);
     Z3_solver r = of_solver(s);
     RETURN_Z3(r);
     Z3_CATCH_RETURN(nullptr);
 }
コード例 #2
0
ファイル: api_solver.cpp プロジェクト: levnach/z3
 Z3_solver Z3_API Z3_mk_solver_from_tactic(Z3_context c, Z3_tactic t) {
     Z3_TRY;
     LOG_Z3_mk_solver_from_tactic(c, t);
     RESET_ERROR_CODE();
     Z3_solver_ref * s = alloc(Z3_solver_ref, *mk_c(c), mk_tactic2solver_factory(to_tactic_ref(t)));
     mk_c(c)->save_object(s);
     Z3_solver r = of_solver(s);
     RETURN_Z3(r);
     Z3_CATCH_RETURN(nullptr);
 }
コード例 #3
0
ファイル: api_solver.cpp プロジェクト: ai-se/z3
 Z3_solver Z3_API Z3_mk_solver_for_logic(Z3_context c, Z3_symbol logic) {
     Z3_TRY;
     LOG_Z3_mk_solver_for_logic(c, logic);
     RESET_ERROR_CODE();
     Z3_solver_ref * s = alloc(Z3_solver_ref, mk_smt_strategic_solver_factory(to_symbol(logic)));
     mk_c(c)->save_object(s);
     Z3_solver r = of_solver(s);
     RETURN_Z3(r);
     Z3_CATCH_RETURN(0);
 }
コード例 #4
0
ファイル: api_solver.cpp プロジェクト: ai-se/z3
 Z3_solver Z3_API Z3_solver_translate(Z3_context c, Z3_solver s, Z3_context target) {
     Z3_TRY;
     LOG_Z3_solver_translate(c, s, target);
     RESET_ERROR_CODE();
     params_ref const& p = to_solver(s)->m_params; 
     Z3_solver_ref * sr = alloc(Z3_solver_ref, 0);
     sr->m_solver = to_solver(s)->m_solver->translate(mk_c(target)->m(), p);
     mk_c(target)->save_object(sr);
     Z3_solver r = of_solver(sr);
     RETURN_Z3(r);
     Z3_CATCH_RETURN(0);
 }
コード例 #5
0
ファイル: api_solver.cpp プロジェクト: levnach/z3
 Z3_solver Z3_API Z3_mk_solver_for_logic(Z3_context c, Z3_symbol logic) {
     Z3_TRY;
     LOG_Z3_mk_solver_for_logic(c, logic);
     RESET_ERROR_CODE();
     if (!smt_logics::supported_logic(to_symbol(logic))) {
         std::ostringstream strm;
         strm << "logic '" << to_symbol(logic) << "' is not recognized";
         throw default_exception(strm.str());
         RETURN_Z3(nullptr);
     }
     else {
         Z3_solver_ref * s = alloc(Z3_solver_ref, *mk_c(c), mk_smt_strategic_solver_factory(to_symbol(logic)));
         mk_c(c)->save_object(s);
         Z3_solver r = of_solver(s);
         RETURN_Z3(r);
     }
     Z3_CATCH_RETURN(nullptr);
 }