diff options
author | Peter Zhu <peter@peterzhu.ca> | 2023-12-01 09:56:32 -0500 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2023-12-01 09:56:32 -0500 |
commit | 43ef0da0fb308c937dd0261d5204bd72e8b6867a (patch) | |
tree | 0e3ca9ab52f53e9530a8d96433f17804565a1207 /shape.c | |
parent | 64c4bbb86cf5c2a7710bef4d481c6a05f780c632 (diff) | |
download | ruby-43ef0da0fb308c937dd0261d5204bd72e8b6867a.tar.gz |
Add assertions for shape cache grandchild nodes
Diffstat (limited to 'shape.c')
-rw-r--r-- | shape.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -180,7 +180,9 @@ redblack_balance(char color, ID key, rb_shape_t * value, redblack_node_t * left, RUBY_ASSERT(new_right_key > new_key); RUBY_ASSERT(new_left_left == LEAF || new_left_left->key < new_left_key); RUBY_ASSERT(new_left_right == LEAF || new_left_right->key > new_left_key); + RUBY_ASSERT(new_left_right == LEAF || new_left_right->key < new_key); RUBY_ASSERT(new_right_left == LEAF || new_right_left->key < new_right_key); + RUBY_ASSERT(new_right_left == LEAF || new_right_left->key > new_key); RUBY_ASSERT(new_right_right == LEAF || new_right_right->key > new_right_key); } else if (redblack_red_p(left) && redblack_red_p(redblack_right(left))) { @@ -202,7 +204,9 @@ redblack_balance(char color, ID key, rb_shape_t * value, redblack_node_t * left, RUBY_ASSERT(new_right_key > new_key); RUBY_ASSERT(new_left_left == LEAF || new_left_left->key < new_left_key); RUBY_ASSERT(new_left_right == LEAF || new_left_right->key > new_left_key); + RUBY_ASSERT(new_left_right == LEAF || new_left_right->key < new_key); RUBY_ASSERT(new_right_left == LEAF || new_right_left->key < new_right_key); + RUBY_ASSERT(new_right_left == LEAF || new_right_left->key > new_key); RUBY_ASSERT(new_right_right == LEAF || new_right_right->key > new_right_key); } else if (redblack_red_p(right) && redblack_red_p(redblack_left(right))) { @@ -224,7 +228,9 @@ redblack_balance(char color, ID key, rb_shape_t * value, redblack_node_t * left, RUBY_ASSERT(new_right_key > new_key); RUBY_ASSERT(new_left_left == LEAF || new_left_left->key < new_left_key); RUBY_ASSERT(new_left_right == LEAF || new_left_right->key > new_left_key); + RUBY_ASSERT(new_left_right == LEAF || new_left_right->key < new_key); RUBY_ASSERT(new_right_left == LEAF || new_right_left->key < new_right_key); + RUBY_ASSERT(new_right_left == LEAF || new_right_left->key > new_key); RUBY_ASSERT(new_right_right == LEAF || new_right_right->key > new_right_key); } else if (redblack_red_p(right) && redblack_red_p(redblack_right(right))) { @@ -246,7 +252,9 @@ redblack_balance(char color, ID key, rb_shape_t * value, redblack_node_t * left, RUBY_ASSERT(new_right_key > new_key); RUBY_ASSERT(new_left_left == LEAF || new_left_left->key < new_left_key); RUBY_ASSERT(new_left_right == LEAF || new_left_right->key > new_left_key); + RUBY_ASSERT(new_left_right == LEAF || new_left_right->key < new_key); RUBY_ASSERT(new_right_left == LEAF || new_right_left->key < new_right_key); + RUBY_ASSERT(new_right_left == LEAF || new_right_left->key > new_key); RUBY_ASSERT(new_right_right == LEAF || new_right_right->key > new_right_key); } else { |