3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 05:18:44 +00:00

Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable

This commit is contained in:
Nikolaj Bjorner 2012-11-22 15:52:00 -08:00
commit dcbf1f9fbb
2 changed files with 0 additions and 84 deletions

View file

@ -1,61 +0,0 @@
/*++
Copyright (c) 2011 Microsoft Corporation
Module Name:
sls_strategy.h
Abstract:
A Stochastic Local Search (SLS) strategy
Author:
Christoph (cwinter) 2011-09-23
Notes:
--*/
#ifndef _SLS_STRATEGY_H_
#define _SLS_STRATEGY_H_
#include"assertion_set_strategy.h"
MK_ST_EXCEPTION(sls_exception);
class sls_st : public assertion_set_strategy {
struct imp;
imp * m_imp;
params_ref m_params;
public:
sls_st(ast_manager & m, params_ref const & p = params_ref());
virtual ~sls_st();
ast_manager & m () const;
virtual void updt_params(params_ref const & p);
static void get_param_descrs(param_descrs & r);
virtual void collect_param_descrs(param_descrs & r) { get_param_descrs(r); }
bool is_target(assertion_set const & s) const;
virtual void operator()(assertion_set & s, model_converter_ref & mc);
virtual void cleanup();
virtual void collect_statistics(statistics & st) const;
virtual void reset_statistics();
protected:
virtual void set_cancel(bool f);
};
inline as_st * mk_sls(ast_manager & m, params_ref const & p = params_ref()) {
return clean(alloc(sls_st, m, p));
}
as_st * mk_qfbv_sls_strategy(ast_manager & m, params_ref const & p);
MK_SIMPLE_ST_FACTORY(qfbv_sls_stf, mk_qfbv_sls_strategy(m, p));
#endif

View file

@ -74,29 +74,6 @@ bool is_debug_enabled(const char * tag);
#define COMPILE_TIME_ASSERT(expr) extern char DBG_UNIQUE_NAME[expr]
#endif
template<class T>
class class_invariant
{
T* m_class;
char const* m_module;
public:
class_invariant(T* cls) : m_class(cls), m_module(0) {
SASSERT(cls->invariant());
}
class_invariant(T* cls, char const* module) : m_class(cls), m_module(module) {
CASSERT(module, cls->invariant());
}
~class_invariant() {
if (m_module) {
CASSERT(m_module, m_class->invariant());
}
else {
SASSERT(m_class->invariant());
}
}
private:
};
void finalize_debug();
/*
ADD_FINALIZER('finalize_debug();')