Example #1
0
 void Z3_API Z3_fixedpoint_set_params(Z3_context c, Z3_fixedpoint d, Z3_params p) {
     Z3_TRY;
     LOG_Z3_fixedpoint_set_params(c, d, p);
     RESET_ERROR_CODE();
     param_descrs descrs;
     to_fixedpoint_ref(d)->collect_param_descrs(descrs);
     to_params(p)->m_params.validate(descrs);
     to_fixedpoint_ref(d)->updt_params(to_param_ref(p));
     to_fixedpoint(d)->m_params = to_param_ref(p);
     Z3_CATCH;
 }
Example #2
0
 Z3_apply_result Z3_API Z3_tactic_apply_ex(Z3_context c, Z3_tactic t, Z3_goal g, Z3_params p) {
     Z3_TRY;
     LOG_Z3_tactic_apply_ex(c, t, g, p);
     RESET_ERROR_CODE();
     param_descrs pd;
     to_tactic_ref(t)->collect_param_descrs(pd);
     to_param_ref(p).validate(pd);
     Z3_apply_result r = _tactic_apply(c, t, g, to_param_ref(p));
     RETURN_Z3(r);
     Z3_CATCH_RETURN(0);
 }
Example #3
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();
     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);
 }
Example #4
0
 Z3_apply_result Z3_API Z3_tactic_apply_ex(Z3_context c, Z3_tactic t, Z3_goal g, Z3_params p) {
     Z3_TRY;
     LOG_Z3_tactic_apply_ex(c, t, g, p);
     RESET_ERROR_CODE();
     Z3_apply_result r = _tactic_apply(c, t, g, to_param_ref(p));
     RETURN_Z3(r);
     Z3_CATCH_RETURN(0);
 }
Example #5
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);
 }
Example #6
0
    void Z3_API Z3_solver_set_params(Z3_context c, Z3_solver s, Z3_params p) {
        Z3_TRY;
        LOG_Z3_solver_set_params(c, s, p);
        RESET_ERROR_CODE();

        if (to_solver(s)->m_solver) {
            bool old_model = to_solver(s)->m_params.get_bool("model", true);
            bool new_model = to_param_ref(p).get_bool("model", true);
            if (old_model != new_model)
                to_solver_ref(s)->set_produce_models(new_model);
            param_descrs r;
            to_solver_ref(s)->collect_param_descrs(r);
            context_params::collect_solver_param_descrs(r);
            to_param_ref(p).validate(r);
            to_solver_ref(s)->updt_params(to_param_ref(p));
        }
        to_solver(s)->m_params.append(to_param_ref(p));
        Z3_CATCH;
    }