mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 20:18:18 +00:00
60 lines
1.6 KiB
C
60 lines
1.6 KiB
C
/*++
|
|
Copyright (c) 2006 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
pattern_inference_params.h
|
|
|
|
Abstract:
|
|
|
|
<abstract>
|
|
|
|
Author:
|
|
|
|
Leonardo de Moura (leonardo) 2008-03-24.
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#ifndef _PATTERN_INFERENCE_PARAMS_H_
|
|
#define _PATTERN_INFERENCE_PARAMS_H_
|
|
|
|
#include"ini_file.h"
|
|
|
|
enum arith_pattern_inference_kind {
|
|
AP_NO, // do not infer patterns with arithmetic terms
|
|
AP_CONSERVATIVE, // only infer patterns with arithmetic terms if there is no other option
|
|
AP_FULL // always use patterns with arithmetic terms
|
|
};
|
|
|
|
struct pattern_inference_params {
|
|
unsigned m_pi_max_multi_patterns;
|
|
bool m_pi_block_loop_patterns;
|
|
arith_pattern_inference_kind m_pi_arith;
|
|
bool m_pi_use_database;
|
|
unsigned m_pi_arith_weight;
|
|
unsigned m_pi_non_nested_arith_weight;
|
|
bool m_pi_pull_quantifiers;
|
|
int m_pi_nopat_weight;
|
|
bool m_pi_avoid_skolems;
|
|
bool m_pi_warnings;
|
|
|
|
pattern_inference_params():
|
|
m_pi_max_multi_patterns(0),
|
|
m_pi_block_loop_patterns(true),
|
|
m_pi_arith(AP_CONSERVATIVE),
|
|
m_pi_use_database(false),
|
|
m_pi_arith_weight(5),
|
|
m_pi_non_nested_arith_weight(10),
|
|
m_pi_pull_quantifiers(true),
|
|
m_pi_nopat_weight(-1),
|
|
m_pi_avoid_skolems(true),
|
|
m_pi_warnings(false) {
|
|
}
|
|
|
|
void register_params(ini_params & p);
|
|
};
|
|
|
|
#endif /* _PATTERN_INFERENCE_PARAMS_H_ */
|
|
|