mirror of
https://github.com/boostorg/move.git
synced 2025-07-31 21:04:27 +02:00
Git Issue #15: Incorrect merge in adaptive_merge when the number of unique items is limited
This commit is contained in:
@@ -788,6 +788,14 @@ Many thanks to all boosters that have tested, reviewed and improved the library.
|
||||
|
||||
[section:release_notes Release Notes]
|
||||
|
||||
[section:release_notes_boost_1_66 Boost 1.66 Release]
|
||||
|
||||
* Fixed bug:
|
||||
* [@https://github.com/boostorg/move/issues/15 Git Issue #15: ['"Incorrect merge in adaptive_merge when the number of unique items is limited'"]].
|
||||
|
||||
[endsect]
|
||||
|
||||
|
||||
[section:release_notes_boost_1_65 Boost 1.65 Release]
|
||||
|
||||
* Fixed bug:
|
||||
|
@@ -2437,7 +2437,8 @@ void adaptive_merge_impl
|
||||
|
||||
//Not the minimum number of keys is not available on the first range, so fallback to rotations
|
||||
if(collected != to_collect && collected < 4){
|
||||
merge_bufferless(first, first+len1, first+len1+len2, comp);
|
||||
merge_bufferless(first, first+collected, first+len1, comp);
|
||||
merge_bufferless(first, first + len1, first + len1 + len2, comp);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -69,6 +69,7 @@ bool test_random_shuffled(std::size_t const element_count, std::size_t const num
|
||||
int main()
|
||||
{
|
||||
const std::size_t NIter = 100;
|
||||
test_random_shuffled<order_move_type>(10001, 3, NIter);
|
||||
test_random_shuffled<order_move_type>(10001, 65, NIter);
|
||||
test_random_shuffled<order_move_type>(10001, 101, NIter);
|
||||
test_random_shuffled<order_move_type>(10001, 1023, NIter);
|
||||
|
@@ -16,7 +16,6 @@
|
||||
|
||||
#include <boost/move/unique_ptr.hpp>
|
||||
#include <boost/container/vector.hpp>
|
||||
#include <boost/timer/timer.hpp>
|
||||
|
||||
#include "order_type.hpp"
|
||||
#include "random_shuffle.hpp"
|
||||
@@ -63,6 +62,7 @@ bool test_random_shuffled(std::size_t const element_count, std::size_t const num
|
||||
int main()
|
||||
{
|
||||
const std::size_t NIter = 100;
|
||||
test_random_shuffled<order_move_type>(10001, 3, NIter);
|
||||
test_random_shuffled<order_move_type>(10001, 65, NIter);
|
||||
test_random_shuffled<order_move_type>(10001, 101, NIter);
|
||||
test_random_shuffled<order_move_type>(10001, 1023, NIter);
|
||||
|
Reference in New Issue
Block a user