mirror of
https://github.com/Z3Prover/z3
synced 2025-05-09 00:35:47 +00:00
Z3 sources
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
3f9edad676
commit
e9eab22e5c
1186 changed files with 381859 additions and 0 deletions
76
lib/model_evaluator_params.cpp
Normal file
76
lib/model_evaluator_params.cpp
Normal file
|
@ -0,0 +1,76 @@
|
|||
/*++
|
||||
Copyright (c) 2011 Microsoft Corporation
|
||||
|
||||
Module Name:
|
||||
|
||||
model_evaluator_params.cpp
|
||||
|
||||
Abstract:
|
||||
|
||||
New parameter setting support for rewriter.
|
||||
|
||||
Author:
|
||||
|
||||
Leonardo (leonardo) 2011-04-22
|
||||
|
||||
Notes:
|
||||
|
||||
--*/
|
||||
#include"model_evaluator_params.h"
|
||||
|
||||
model_evaluator_params::model_evaluator_params() {
|
||||
reset();
|
||||
}
|
||||
|
||||
void model_evaluator_params::reset() {
|
||||
m_model_completion = false;
|
||||
m_cache = true;
|
||||
m_max_steps = UINT_MAX;
|
||||
m_max_memory = UINT_MAX;
|
||||
}
|
||||
|
||||
#define PARAM(name) param_names.push_back(name)
|
||||
|
||||
void model_evaluator_params::get_params(svector<char const *> & param_names) const {
|
||||
PARAM(":model-completion");
|
||||
PARAM(":cache");
|
||||
PARAM(":max-steps");
|
||||
PARAM(":max-memory");
|
||||
}
|
||||
|
||||
#define DESCR(NAME, DR) if (strcmp(name, NAME) == 0) return DR
|
||||
|
||||
char const * model_evaluator_params::get_param_descr(char const * name) const {
|
||||
DESCR(":model-completion", "(default: false) assigns an interpretation to symbols that are not intepreted by the model.");
|
||||
DESCR(":cache", "(default: true) cache intermediate results.");
|
||||
DESCR(":max-steps", "(default: infty) maximum number of steps.");
|
||||
DESCR(":max-memory", "(default: infty) maximum amount of memory in megabytes.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define RBOOL(NAME) if (strcmp(name, NAME) == 0) return CPK_BOOL
|
||||
#define RUINT(NAME) if (strcmp(name, NAME) == 0) return CPK_UINT
|
||||
|
||||
param_kind model_evaluator_params::get_param_kind(char const * name) const {
|
||||
RBOOL(":model-completion");
|
||||
RBOOL(":cache");
|
||||
RUINT(":max-steps");
|
||||
RUINT(":max-memory");
|
||||
return CPK_INVALID;
|
||||
}
|
||||
|
||||
#define SET(NAME, FIELD) if (strcmp(name, NAME) == 0) { FIELD = value; return true; }
|
||||
|
||||
bool model_evaluator_params::set_bool_param(char const * name, bool value) {
|
||||
SET(":model-completion", m_model_completion);
|
||||
SET(":cache", m_cache);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool model_evaluator_params::set_uint_param(char const * name, unsigned value) {
|
||||
SET(":max-steps", m_max_steps);
|
||||
SET(":max-memory", m_max_memory);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue