Commit Graph

698 Commits

Author SHA1 Message Date
joaquintides
cefe5965be micro-optimized table_iterator ctor to see if it impacts performance 2022-09-28 19:52:22 +02:00
joaquintides
2a9f47ea2c reverted 2022-09-28 19:23:39 +02:00
joaquintides
85324f9a43 made microchange in find_impl to see if it impacts performance 2022-09-28 19:13:26 +02:00
joaquintides
2e776ad155 fixed clear 2022-09-28 17:53:58 +02:00
joaquintides
f6544f69ca fixed macro usage 2022-09-28 17:26:12 +02:00
joaquintides
c61222403e fixed using placement 2022-09-28 17:24:44 +02:00
joaquintides
c487f24611 honored select_on_container_copy_construction 2022-09-28 13:55:44 +02:00
joaquintides
8dcd40c8f3 harmonized adjust_hash interface 2022-09-28 13:46:25 +02:00
joaquintides
0ea2cb5a7a refactored dummy_groups to avoid explicit array initialization 2022-09-28 11:47:23 +02:00
joaquintides
5a4a2f3ffd added Neon support 2022-09-28 11:21:44 +02:00
joaquintides
5293b328b7 made emplace_impl rehashing more robust 2022-09-28 10:05:45 +02:00
joaquintides
2889aab226 made dependency on size_policy minimum size explicit 2022-09-28 09:54:44 +02:00
joaquintides
7a1a25991f removed unnecessary check in max_load 2022-09-28 09:45:55 +02:00
joaquintides
43f8e5e933 avoided being too smart in new_arrays's memory initialization 2022-09-28 09:42:37 +02:00
joaquintides
f4940d9344 avoided ugly casts in table_iterator::increment 2022-09-28 09:40:05 +02:00
joaquintides
701cdff982 refactored dummy_groups 2022-09-28 09:36:52 +02:00
Christian Mazakas
450c915284 Get insert_tests passing under sanitizers 2022-09-27 14:25:57 -07:00
Christian Mazakas
2eb57995dd Add initial find() impl for benchmarks 2022-09-27 10:30:14 -07:00
Christian Mazakas
b64b88eb65 Add intial erase() impl for benchmarks 2022-09-27 10:28:50 -07:00
Christian Mazakas
3da4b6411c Add rvalue overload of insert() for flat_map 2022-09-27 10:28:10 -07:00
Christian Mazakas
e115634812 Fix bug in equal_range() for unordered_flat_map 2022-09-27 10:27:41 -07:00
Christian Mazakas
fc0f354df4 Switch from leading underscore to trailing underscore for shadowed variables 2022-09-27 08:19:01 -07:00
Christian Mazakas
ba5cbd5ca6 Add simple initial draft of unordered_flat_map 2022-09-26 15:18:13 -07:00
Christian Mazakas
12b9bd0a6d Fix warnings in internal foa table about float/size_t conversions 2022-09-26 15:17:21 -07:00
Christian Mazakas
e8715ffb96 Update internal foa table implementation to use to_address when Allocators use fancy pointers 2022-09-26 15:16:52 -07:00
Christian Mazakas
5d34b137a3 Fix shadowing warnings in foa.hpp 2022-09-26 11:40:47 -07:00
Christian Mazakas
ad352a6703 Fix cast warning in mark_overflow() 2022-09-26 10:27:22 -07:00
Christian Mazakas
7d69d18473 Initial commit of foa.hpp 2022-09-26 10:12:05 -07:00
Christian Mazakas
9a9b8e0a7b Update rehashing implementation to better reflect STL conformance 2022-09-13 12:33:21 -07:00
Christian Mazakas
5ad86f559f Clean up implementation of recalculate_max_load() to avoid std::floor/std::ceil 2022-09-13 12:33:21 -07:00
Christian Mazakas
dea6ce164c Remove erroneous unconditional call to reserve() from move_assign() when pocma is false 2022-09-12 13:16:45 -07:00
Christian Mazakas
db9d9d1f77 Update implementation to support a default-constructible table and grouped_bucket_array 2022-08-30 15:20:31 -07:00
Christian Mazakas
6f342bf119 Set default_bucket_count to zero 2022-08-30 15:20:31 -07:00
Christian Mazakas
f9eae4153f Update code to be valid when the internal buckets_ data member is moved-from 2022-08-18 09:04:53 -07:00
Christian Mazakas
a31e894411 Update implementation to use erase_node() where applicable 2022-07-25 11:35:38 -07:00
Christian Mazakas
91e78fd746 Add erase_node() function to table, creating an optimizer-friendly function 2022-07-25 11:35:23 -07:00
Christian Mazakas
7746518c0a Remove conditional usage of #pragma once from fca.hpp and prime_fmod.hpp, reorder config.hpp inclusion to come last 2022-06-30 13:07:11 -07:00
Christian Mazakas
c8a98e27e0 Add boost:: namespace qualification to uint64_t and uint32_t for prime_fmod.hpp 2022-06-30 13:07:11 -07:00
Christian Mazakas
3df902af23 Pull prime_fmod_size into its own dedicated header, update #include list for fca.hpp and prime_fmod_test.hpp 2022-06-30 13:07:11 -07:00
joaquintides
fb733483c6 made fast_modulo universally available in 64 bits and never used in 32 bits 2022-06-26 19:13:54 +02:00
joaquintides
2670bb149d added Peter Dimov's portable implementation of get_remainder 2022-06-25 17:35:43 +02:00
Peter Dimov
08e0fee141 Enable fastmod on clang-cl and other pretenders such as Intel 2022-06-25 01:44:14 +03:00
Peter Dimov
31cffd8412 Fix reversed condition 2022-06-25 01:06:15 +03:00
Peter Dimov
0f71fe28a2 Fix typos; do not undefine macros needed for tests 2022-06-25 01:04:22 +03:00
Christian Mazakas
90b2536a99 Relace usage of BOOST_FORCEINLINE with plain inline to prevent warnings from certain versions of msvc 2022-06-21 08:42:52 -07:00
Christian Mazakas
f1481f0deb Remove dependency on Boost.Detail 2022-06-21 08:42:52 -07:00
Christian Mazakas
b1a9cde690 Remove dependency on Boost.Iterator 2022-06-21 08:42:52 -07:00
Alexander Grund
707b40e8c2 Workaround Segfault of Clang 3.8
Clang 3.8 segfaults during name mangling of `make_index_seq`.
Hence replace it by using type aliases.
2022-06-09 11:04:20 +02:00
Christian Mazakas
613a997694 Fix -Wmaybe-unitialized warning in gcc-12 by laundering the result of reinterpret_cast<> in functions helper 2022-06-07 09:03:48 -07:00
Christian Mazakas
0106ed3d91 Rename functions used to efficiently calculate modulo, update associated comments 2022-06-03 09:28:17 -07:00