mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
Merge pull request #244 from NikolajBjorner/master
fix for fixed size rational difference logic
This commit is contained in:
commit
0a75ba0322
|
@ -399,7 +399,6 @@ namespace smt {
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sidl_ext {
|
struct sidl_ext {
|
||||||
// TODO: It doesn't need to be a rational, but a bignum integer.
|
|
||||||
static const bool m_int_theory = true;
|
static const bool m_int_theory = true;
|
||||||
typedef s_integer numeral;
|
typedef s_integer numeral;
|
||||||
typedef s_integer fin_numeral;
|
typedef s_integer fin_numeral;
|
||||||
|
@ -415,13 +414,11 @@ namespace smt {
|
||||||
rdl_ext() : m_epsilon(rational(), true) {}
|
rdl_ext() : m_epsilon(rational(), true) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct srdl_ext {
|
//
|
||||||
static const bool m_int_theory = false;
|
// there is no s_rational class, so
|
||||||
typedef inf_s_integer numeral;
|
// instead we use multi-precision rationals.
|
||||||
typedef s_integer fin_numeral;
|
//
|
||||||
numeral m_epsilon;
|
struct srdl_ext : public rdl_ext {};
|
||||||
srdl_ext() : m_epsilon(s_integer(0),true) {}
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef theory_diff_logic<idl_ext> theory_idl;
|
typedef theory_diff_logic<idl_ext> theory_idl;
|
||||||
typedef theory_diff_logic<sidl_ext> theory_fidl;
|
typedef theory_diff_logic<sidl_ext> theory_fidl;
|
||||||
|
|
Loading…
Reference in a new issue