diff --git a/add-missing-link.patch b/add-missing-link.patch deleted file mode 100644 index a3d0991..0000000 --- a/add-missing-link.patch +++ /dev/null @@ -1,15 +0,0 @@ -# HG changeset patch -# Parent d5fb760990e45ae0db4f4b7609d8affb85101a39 -add missing link - -diff -r d5fb760990e4 -r c08b02a02f23 include/mdds/flat_segment_tree_def.inl ---- a/include/mdds/flat_segment_tree_def.inl Thu Mar 24 14:52:10 2011 +0100 -+++ b/include/mdds/flat_segment_tree_def.inl Thu Mar 24 14:53:14 2011 +0100 -@@ -438,6 +438,7 @@ - m_left_leaf->value_leaf.value = m_init_val; - new_node->left = m_left_leaf; - new_node->right = m_left_leaf->right; -+ m_left_leaf->right->left = new_node; - m_left_leaf->right = new_node; - } - diff --git a/compare-to-the-other-node.patch b/compare-to-the-other-node.patch deleted file mode 100644 index e0f5f11..0000000 --- a/compare-to-the-other-node.patch +++ /dev/null @@ -1,19 +0,0 @@ -# HG changeset patch -# Parent 9b68208cb03bb3ece046c8b60a6a0777fea46d4a -fix typo in node::equals - -diff -r 9b68208cb03b include/mdds/node.hpp ---- a/include/mdds/node.hpp Fri Feb 11 11:24:57 2011 -0500 -+++ b/include/mdds/node.hpp Thu Mar 24 08:27:28 2011 +0100 -@@ -154,9 +154,9 @@ - return false; - - if (is_leaf) -- return value_leaf == value_leaf; -+ return value_leaf == r.value_leaf; - else -- return value_nonleaf == value_nonleaf; -+ return value_nonleaf == r.value_nonleaf; - - return true; - } diff --git a/do-not-insert-new-node.patch b/do-not-insert-new-node.patch deleted file mode 100644 index e08a5c6..0000000 --- a/do-not-insert-new-node.patch +++ /dev/null @@ -1,43 +0,0 @@ -# HG changeset patch -# Parent ff6ad274f8ecb1715d366ddb53ecafd422252660 -do not insert new node if the whole range was shifted - -diff -r ff6ad274f8ec include/mdds/flat_segment_tree_def.inl ---- a/include/mdds/flat_segment_tree_def.inl Thu Mar 24 14:54:16 2011 +0100 -+++ b/include/mdds/flat_segment_tree_def.inl Thu Mar 24 14:55:26 2011 +0100 -@@ -430,16 +430,25 @@ - - if (m_left_leaf->value_leaf.value != m_init_val) - { -- // The leftmost leaf node has a non-initial value. We need to -- // insert a new node to carry that value after the shift. -- node_ptr new_node(new node(true)); -- new_node->value_leaf.key = pos + size; -- new_node->value_leaf.value = m_left_leaf->value_leaf.value; -- m_left_leaf->value_leaf.value = m_init_val; -- new_node->left = m_left_leaf; -- new_node->right = m_left_leaf->right; -- m_left_leaf->right->left = new_node; -- m_left_leaf->right = new_node; -+ if (size < m_right_leaf->value_leaf.key - m_left_leaf->value_leaf.key) -+ { -+ // The leftmost leaf node has a non-initial value. We need to -+ // insert a new node to carry that value after the shift. -+ node_ptr new_node(new node(true)); -+ new_node->value_leaf.key = pos + size; -+ new_node->value_leaf.value = m_left_leaf->value_leaf.value; -+ m_left_leaf->value_leaf.value = m_init_val; -+ new_node->left = m_left_leaf; -+ new_node->right = m_left_leaf->right; -+ m_left_leaf->right->left = new_node; -+ m_left_leaf->right = new_node; -+ } -+ else -+ { -+ // We shifted out the whole range, so there would be no new -+ // node inserted. Just set default value. -+ m_left_leaf->value_leaf.value = m_init_val; -+ } - } - - m_valid_tree = false;