Leonardo de Moura
9b15c4c669
feat(util/rb_map): add find_if
2016-02-24 16:02:16 -08:00
Soonho Kong
431ce6ff2d
fix(util/lp): instantiate missing functions
...
close #1005
2016-02-22 16:19:28 -05:00
Leonardo de Moura
c9e9fee76a
refactor(*): remove name_generator and use simpler mk_fresh_name
2016-02-11 18:05:57 -08:00
Leonardo de Moura
f67181baf3
chore(*): remove support for Lua
2016-02-11 17:17:55 -08:00
Leonardo de Moura
6c1c6cbbdd
fix(util/lp,tests/util/lp): warning msgs on OSX
2016-02-05 11:51:20 -08:00
Leonardo de Moura
1c8d8da9cf
chore(util/lp/lp_primal_core_solver): fix warning
2016-02-05 10:08:32 -08:00
Lev Nachmanson
0e4f98dc47
dev(lp): remove a warning
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:08:24 -08:00
Lev Nachmanson
a7e3befd21
dev(lp): speed up primal with sorted list
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:36 -08:00
Lev Nachmanson
ff8213a6a9
dev(lp): diminish the number of pivots of primal by sorting the columns
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Lev Nachmanson
61eaef0183
dev(lp): improve the dual perormance
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Lev Nachmanson
9482d508df
dev(lp): fix bugs in the dual simplex high loop
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Lev Nachmanson
fbe4f56aea
chore(lp): remove warnings
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Leonardo de Moura
40d4623219
fix(util/lp/lp_settings): replace fabs with std::abs
2016-02-05 10:04:35 -08:00
Leonardo de Moura
971ec72157
fix(util/lp/numeric_pair): include cmath
2016-02-05 10:04:35 -08:00
Lev Nachmanson
504c603af4
chore(lp): use std::ostream for printing routines
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Lev Nachmanson
fc858d98c0
chore(lp): improve formatting
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Lev Nachmanson
e9cd621855
chore(lp): improve formatting
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Lev Nachmanson
28bf891b7f
dev(lp): port to windows (msys2)
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Lev Nachmanson
99dcad0dda
dev(lp): performance tuning in find_leaving_on_harris_theta
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:35 -08:00
Lev Nachmanson
d098dfe326
dev(lp): fix infeasibility evidence check
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:34 -08:00
Leonardo de Moura
d9acf90f7b
refactor(util/lp): use Lean exception
2016-02-05 10:04:34 -08:00
Leonardo de Moura
8fbf66d01a
chore(util/lp): no "using", indentation
2016-02-05 10:04:34 -08:00
Leonardo de Moura
1841d17544
refactor(lp): NDEBUG ==> LEAN_DEBUG
2016-02-05 10:04:34 -08:00
Lev Nachmanson
fbb3ed8911
feat(lp): add LP solver and incremental LU factorization
...
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-02-05 10:04:34 -08:00
Leonardo de Moura
f62e22b34c
fix(util/sexpr/format): fixes #955
...
Lean was crashing because separate_tokes was traversing a DAG as a tree.
Lean was dying without memory (and getting stack overflows) because the procedure was also converting
the DAG into a tree.
This example also suggests we should reduce the limits for the pretty printer.
2016-02-04 14:55:11 -08:00
Leonardo de Moura
bd52e58294
perf(util/name): use quick_cmp at name_pair_quick_cmp
2016-02-02 13:56:02 -08:00
Leonardo de Moura
cb203c3272
perf(src/util/name): if the hashcodes are equal, then there is a high probability the names are equal
...
So, we use == before trying cmp.
Reason: == is much faster.
2016-02-02 12:52:06 -08:00
Leonardo de Moura
a9cb9ff912
perf(util/name): more inlining
2016-02-02 09:49:50 -08:00
Leonardo de Moura
187bce307e
perf(src/util/name): inline hash
2016-02-02 09:21:01 -08:00
Gabriel Ebner
7e11c5cf6e
fix(src/util/file_lock): ignore failure to create locks on read-only file systems
...
EACCES is already ignored when creating lock files. In this case we
assume that the file to be locked is part of the system-wide
installation. On NixOS however, the file system containing system
packages is mounted read-only, and open(2) returns EROFS.
2016-01-16 11:00:44 -08:00
Soonho Kong
f911747b60
fix(util/file_lock.cpp): add 'include <fcntl.h>'
...
@wizardbc found that this is needed while working on lean.js.
I think it's because of the use of O_CREAT in open system call.
Related issue: leanprover/lean.js#10
2015-12-19 07:51:00 -05:00
Leonardo de Moura
45dbf76df9
refactor(library): add attribute manager
2015-12-17 20:58:15 -08:00
Leonardo de Moura
c07345d47f
fix(util/file_lock): handle permission denied at lock creation
...
see #925
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-12-15 09:48:20 -08:00
Leonardo de Moura
521657914c
chore(util/file_lock): style
2015-12-14 10:20:33 -08:00
Leonardo de Moura
31c9a76777
feat(util/file_lock): add support for Windows
...
Remark: the lock are not being erased on Windows.
I tried different solutions based on MoveFileEx and DeleteFile.
None of them worked. The one based on MoveFileEx
MoveFileEx(m_fname.c_str(), NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
seems to delete the file after REBOOT.
But, this is not very useful.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2015-12-14 10:07:26 -08:00
Leonardo de Moura
4dc3764a02
feat(util,library,shell): basic locking mechanism
...
We still have to test on Windows.
see issue #925
2015-12-12 21:26:13 -08:00
Leonardo de Moura
cbc3c0cf4f
feat(frontends/lean): suppress profiling information for declarations that take less than 0.01 secs to be processed
2015-12-09 10:48:36 -08:00
Leonardo de Moura
370f9a6eec
fix(library/trace): use null output channel when trace environment is not set
...
This is important when multiple threads are being used, and the trace
environment is not set for a child thread
2015-12-08 18:37:57 -08:00
Leonardo de Moura
6b1469264d
feat(library/trace): add new tracing infrastructure
2015-12-08 11:58:03 -08:00
Leonardo de Moura
a2ef818ff3
chore(*): remove old tracing framework
2015-12-08 09:06:10 -08:00
Leonardo de Moura
e417581e4c
feat(util): add priority_queue
2015-12-07 17:05:01 -08:00
Leonardo de Moura
b7c96722c7
perf(util/rb_tree): mark check_invariant as a conditional/tagged assertion
...
This assertion is proportional to the tree size. So, it is too expensive
to check when we import many declarations.
2015-12-06 15:45:55 -08:00
Leonardo de Moura
b409720ac7
feat(util/sexpr/option_declarations): add register_string_option
2015-12-05 16:53:16 -08:00
Leonardo de Moura
96b37241bd
feat(util/list): add is_suffix_eqp
2015-12-05 16:52:18 -08:00
Leonardo de Moura
41ff4bc193
feat(library/blast/forward/pattern): pattern inference and heuristic instantiation index
2015-11-25 23:45:08 -08:00
Leonardo de Moura
30214af15c
fix(util/rb_multi_map): missing include
2015-11-25 14:26:08 -08:00
Daniel Selsam
8f4bc7e0ba
fix(util/rb_multi_map): no duplicate values
2015-11-24 20:19:46 -08:00
Leonardo de Moura
b1777855cf
chore(util/rb_multi_map): remove unnecessary includes
2015-11-19 11:45:20 -08:00
Daniel Selsam
5ada4312d7
feat(library/blast/forward): propositional forward chaining
2015-11-19 11:44:53 -08:00
Leonardo de Moura
950f9ff79f
feat(util/rb_tree): buffer => rb_tree
2015-11-13 14:00:35 -08:00