Age | Commit message (Collapse) | Author |
|
literals.
|
|
|
|
This commit fixes bug 637 (
http://church.cims.nyu.edu/bugzilla3/show_bug.cgi?id=637 ) as
proposed in Bugzilla and adds the minified test case to the
regression tests.
|
|
[LFSC] Fix performance issues, more determinism
|
|
|
|
For certain proofs, the performance was drastically different on
different OSes. The cause for this difference was a pointer comparison
in the deduplication in `Expr::defeq()`. Depending on how the OS
allocated the memory, an expression `a` would get replaced with an
equivalent expression `b` or vice versa, which in turn affected
performance of `Expr::free_in()` dramatically (sub-second vs. >5 min
running times). This commit makes the process more deterministic by
using a heuristic that favors symbolic expressions and greedily tries to
make small refcounts smaller when replacing, and changes
`Expr::free_in()` to not repeatedly explore the same subexpressions.
|
|
|
|
Fixing memory leak
|
|
|
|
Adding regression test scrubbing.
|
|
Proposed fix for bug 702
|
|
kind BUILTIN before passing to prefixPrintGetValue()
|
|
regression. Improve printing for bound int module. Track when relations are enabled in sets, set incomplete if card+rels are both enabled since model construction is not guaranteed to succeed.
|
|
Bug 679 fix
|
|
|
|
|
|
|
|
proposed, and it fixes the correct float parsing of an std::istringstream.
The compilation issue in Bug 679 does not apply anymore with gcc6.3.1
|
|
|
|
|
|
Modifying the travis rules so there are instances with proofs disabled.
|
|
changes.
|
|
|
|
|
|
|
|
linebreaks.
|
|
[LFSC] Minor fixes/improvements
|
|
Fix dependency tracing for fewerPreprocessingHoles
|
|
[LFSC] Fix memory leaks when creating CExprs
|
|
ref count of the TNodes in the set can become 0. Set operations containing garbage collected TNodes could then fail.
|
|
|
|
options::tearDownIncremental.
|
|
|
|
|
|
|
|
- Avoid mixing new/delete with malloc/free
- Remove reimplementation of strcmp
- Add assertions
|
|
In certain cases, LFSC was creating CExprs with the single-argument
constructor, which allocates an array of one child, only to immediately
replace it with a new array (without deleting the old one).
Additionally, this commit fixes the construction of TYPE/KIND/MPZ/MPQ
expressions (the null pointer is appended automatically by the single
argument constructor, an array with two null pointer entries should not
be necessary).
|
|
Previously, dependency tracing in `ite_removal.cpp` was only done with
the `unsatCores` option but `fewerPreprocessingHoles` requires
dependencies, too. This lead to errors during proof construction when
`fewerPreprocessingHoles` was active. This commit fixes the condition
and includes a test case that previously failed. Additionally, it fixes
a similar issue in the theory engine.
NOTE: this commit might not fix all instances of this problem.
`smt_engine.cpp` turns certain flags off with `unsatCores`.
Compatibility between those flags and `fewerPreprocessingHoles` needs to
be checked separately.
|
|
Switch from SMT-LIB v2.0 to v2.5 for smt2 files
|
|
As mentioned in bug 741, CVC4 was parsing `.smt2` files using the
SMT-LIB v2.0 standard by default. This commit switches to v2.5.
|
|
is 1, it does not automatically enable incremental mode.
|
|
Fix split-find-unsat-w-emp test
|
|
Fix initialization order
|
|
Commit 2f2e9fcf1fbb27f8e799aeac2372c0a9113f01aa did not update the
split-find-unsat-w-emp test, this commit fixes that.
|
|
|
|
Fix (inactive) `MultSlice` rewrite
|
|
|
|
This commit addresses the following warning:
```
warning: field 'd_negOne' will be initialized after field 'd_pivots'
[-Wreorder]
```
|
|
The `MultSlice` rewrite was previously accepting multiplications of
three and more variables even though it was designed for multiplications
of two variables only. Fortunately, the rewrite was not actively used in
the bitvector solver. This commit strengthens the condition in
`applies()` and adds a unit test that checks that x * y * z and x * y do
not get rewritten to the same term.
|
|
|