lean4-htt/src/util
Leonardo de Moura a69052e7ee feat(library/parray): add parray thread safe version
We will use the thread safe version for implementing persistent hash maps.
The hash maps will be used to implement decision procedures and refactor
the congruence closure and ematching modules.
The persistent hash maps based on thread safe parrays are performant
when most of the time there is a single thread updating them.

We use a small hack to make sure we don't have any overhead for

   parray<T, false>

i.e., the thread unsafe version used in the VM.
2017-05-02 17:15:09 -07:00
..
lp fix(tests/util/lp): fix debug build 2016-10-03 22:22:12 -07:00
numerics chore(*): remove last remnants of mpfr 2017-02-24 21:42:58 +01:00
polynomial
sexpr fix(util/sexpr/format): incorrect assertion 2017-05-01 13:13:07 +02:00
ascii.cpp
ascii.h
bit_tricks.cpp
bit_tricks.h
bitap_fuzzy_search.cpp
bitap_fuzzy_search.h
buffer.h chore(util/buffer): use std::move 2017-02-09 13:51:33 -08:00
cancellable.cpp fix(util/cancellable): fix quadratic runtime with many children 2017-03-23 09:00:59 +01:00
cancellable.h fix(util/cancellable): fix quadratic runtime with many children 2017-03-23 09:00:59 +01:00
CMakeLists.txt refactor(util/lean_path,util/path): separate search path functions 2017-05-01 14:11:38 -07:00
debug.cpp feat(util/debug): emscripten support 2016-10-16 14:41:35 -07:00
debug.h feat(util/debug): add version of lean_assert that also works in non-debug builds 2017-03-23 08:57:56 +01:00
escaped.cpp
escaped.h
exception.cpp refactor(*): reduce exception context info from expr to pos_info 2017-02-17 13:45:57 +01:00
exception.h refactor(*): reduce exception context info from expr to pos_info 2017-02-17 13:45:57 +01:00
exception_with_pos.h refactor(*): reduce exception context info from expr to pos_info 2017-02-17 13:45:57 +01:00
extensible_object.h
file_lock.cpp fix(util/file_lock): issue on Windows 2016-12-20 14:16:58 -08:00
file_lock.h feat(util,library,shell): basic locking mechanism 2015-12-12 21:26:13 -08:00
flet.h
freset.h
fresh_name.cpp feat(util/fresh_name): API for detecting whether a name was created using mk_fresh_name 2016-08-05 19:02:31 -07:00
fresh_name.h feat(util/fresh_name): API for detecting whether a name was created using mk_fresh_name 2016-08-05 19:02:31 -07:00
hash.cpp
hash.h feat(util/hash): use #if 2016-10-02 10:46:11 -07:00
init_module.cpp refactor(util/lean_path,util/path): separate search path functions 2017-05-01 14:11:38 -07:00
init_module.h
int64.h
interrupt.cpp refactor(*): task<T>, log_tree, cancellation_token 2017-03-23 08:57:52 +01:00
interrupt.h refactor(util/thread): simplify thread life-cycle 2017-03-23 09:00:59 +01:00
json.hpp chore(util/json): workaround for mingw 2016-10-14 17:24:47 -07:00
lbool.cpp
lbool.h
lean_path.cpp fix(util/lean_path): fix emscripten build 2017-05-01 14:11:38 -07:00
lean_path.h refactor(util/lean_path,util/path): separate search path functions 2017-05-01 14:11:38 -07:00
list.h feat(library/tactic/smt/hinst_lemmas): change how transparency is used to process hinst_lemmas 2017-01-04 19:12:37 -08:00
list_fn.cpp fix(util/list_fn): add missing file 2015-05-18 15:16:29 -07:00
list_fn.h style(library/abstract_expr_manager): whitespace 2015-11-12 21:21:52 -08:00
log_tree.cpp refactor(frontends/lean/parser): store snapshots in a lazy async list 2017-03-27 14:00:53 -07:00
log_tree.h refactor(frontends/lean/parser): store snapshots in a lazy async list 2017-03-27 14:00:53 -07:00
lru_cache.h
macros.h
map.h
memory.cpp feat(util/memory): implement get_current_rss using the jemalloc API 2017-03-23 09:01:00 +01:00
memory.h feat(CMakeLists,util): add TRACK_CUSTOM_ALLOCATORS=ON compilation option 2017-02-28 10:38:09 -08:00
memory_pool.cpp feat(util/memory_pool): put limit on the size of memory_pool free_lists 2017-02-28 15:16:43 -08:00
memory_pool.h feat(library/parray): add parray thread safe version 2017-05-02 17:15:09 -07:00
message_definitions.h chore(*): style 2017-03-23 08:57:56 +01:00
name.cpp fix(util/name): segfault on name() == "foo" 2017-04-03 12:32:35 +02:00
name.h fix(frontends/lean/pp): qualify constant shadowed by local 2017-03-31 09:40:49 -07:00
name_hash_map.h
name_hash_set.h feat(src/library/inductive_compiler): support for nested inductive types 2016-09-16 12:50:59 -07:00
name_map.cpp
name_map.h
name_set.cpp chore(*): remove support for Lua 2016-02-11 17:17:55 -08:00
name_set.h chore(*): remove support for Lua 2016-02-11 17:17:55 -08:00
null_ostream.cpp fix(library/trace): use null output channel when trace environment is not set 2015-12-08 18:37:57 -08:00
null_ostream.h fix(library/trace): use null output channel when trace environment is not set 2015-12-08 18:37:57 -08:00
object_serializer.h
optional.h
output_channel.h fix(library/trace): use null output channel when trace environment is not set 2015-12-08 18:37:57 -08:00
pair.h
parser_exception.cpp refactor(*): reduce exception context info from expr to pos_info 2017-02-17 13:45:57 +01:00
parser_exception.h chore(util,kernel,library): clang warnings 2017-02-17 20:01:34 -08:00
path.cpp refactor(util/lean_path,util/path): separate search path functions 2017-05-01 14:11:38 -07:00
path.h refactor(util/lean_path,util/path): separate search path functions 2017-05-01 14:11:38 -07:00
priority_queue.h refactor(frontends/lean): replace different attribute classes with single scoped_ext 2016-07-29 18:51:23 -04:00
rb_map.h fix(library/vm): make sure vm_rb_map objects can be stored in ts_vm_obj 2017-01-26 15:58:11 -08:00
rb_multi_map.h fix(util/rb_multi_map): missing include 2015-11-25 14:26:08 -08:00
rb_tree.h fix(util/rb_tree): fix remove(rb_tree) 2017-04-24 19:31:56 +02:00
rc.h
safe_arith.cpp
safe_arith.h
scoped_map.h
scoped_set.h
sequence.h
serializer.cpp chore(util/serializer): fix style 2015-08-14 18:34:33 -07:00
serializer.h feat(library/vm/vm): store .olean file name at vm_decl's 2016-11-11 16:19:19 -08:00
shared_mutex.cpp
shared_mutex.h
small_object_allocator.cpp feat(CMakeLists,util): add CUSTOM_ALLOCATORS=OFF compilation option 2017-02-28 11:13:54 -08:00
small_object_allocator.h chore(*): style 2016-05-25 18:10:15 -07:00
sstream.h
stackinfo.cpp fix(src/util): make sure thread stack size is > LEAN_STACK_BUFFER_SPACE 2016-12-03 12:05:01 -08:00
stackinfo.h
subscripted_name_set.cpp chore(*): fix compilation warnings 2016-09-19 17:36:28 -07:00
subscripted_name_set.h feat(library/local_context): make get_unused_name O(log(n)) 2016-09-19 16:38:03 -07:00
task.cpp fix(util/task): evaluate dependencies iteratively 2017-03-23 09:16:49 +01:00
task.h feat(util/log_tree): annotate nodes with detail levels 2017-03-23 09:03:43 +01:00
task_builder.cpp chore(*): style 2017-03-23 08:57:56 +01:00
task_builder.h perf(util/task_builder): speed up traverse 2017-03-23 09:00:59 +01:00
test.h
thread.cpp refactor(util/thread): simplify thread life-cycle 2017-03-23 09:00:59 +01:00
thread.h fix(util/thread): fix single-threaded build 2017-03-23 09:03:42 +01:00
timeit.cpp refactor(frontends/lean/definition_cmds): make profiling threshold configurable 2017-04-23 11:22:41 -07:00
timeit.h refactor(frontends/lean/definition_cmds): make profiling threshold configurable 2017-04-23 11:22:41 -07:00
timer.cpp fix(util/timer): fix valgrind warning 2017-03-23 09:00:59 +01:00
timer.h feat(shell/server): limit full message updates to once every 200ms 2017-02-10 09:01:55 +01:00
trie.h
unit.h refactor(*): task<T>, log_tree, cancellation_token 2017-03-23 08:57:52 +01:00
unlock_guard.h
utf8.cpp feat(emacs,frontends/lean/parser,shell/server): more accurate info command using server-side parsing 2016-12-27 10:07:34 -08:00
utf8.h feat(emacs,frontends/lean/parser,shell/server): more accurate info command using server-side parsing 2016-12-27 10:07:34 -08:00
worker_queue.h