Skip to content

Commit 9eb5fb9

Browse files
committed
tweak
1 parent e95ea9e commit 9eb5fb9

File tree

3 files changed

+15
-28
lines changed

3 files changed

+15
-28
lines changed

Diff for: jscomp/others/belt_internalAVLtree.ml

+5-6
Original file line numberDiff line numberDiff line change
@@ -70,22 +70,21 @@ let bal l x d r =
7070
let hl = match l with None -> 0 | Some n -> n.height in
7171
let hr = match r with None -> 0 | Some n -> n.height in
7272
if hl > hr + 2 then begin
73-
let {left = ll; key = lv; value = ld; right = lr} =
74-
l |. unsafeCoerce
73+
let {left = ll; key = lv; value = ld; right = lr} = l |. unsafeCoerce
7574
in
7675
if treeHeight ll >= treeHeight lr then
7776
create ll lv ld (create lr x d r)
7877
else begin
79-
let {left = lrl; key = lrv; value = lrd; right = lrr} = lr |. unsafeCoerce in
80-
create (create ll lv ld lrl) lrv lrd (create lrr x d r)
78+
let lr = lr |. unsafeCoerce in
79+
create (create ll lv ld lr.left) lr.key lr.value (create lr.right x d r)
8180
end
8281
end else if hr > hl + 2 then begin
8382
let {left = rl; key = rv; value = rd; right = rr} = r |. unsafeCoerce in
8483
if treeHeight rr >= treeHeight rl then
8584
create (create l x d rl) rv rd rr
8685
else begin
87-
let {left = rll; key = rlv; value = rld; right = rlr} = rl |. unsafeCoerce in
88-
create (create l x d rll) rlv rld (create rlr rv rd rr)
86+
let rl = rl |. unsafeCoerce in
87+
create (create l x d rl.left) rl.key rl.value (create rl.right rv rd rr)
8988
end
9089
end else
9190
Some { left = l; key = x ; value = d ; right = r ; height = (if hl >= hr then hl + 1 else hr + 1)}

Diff for: lib/es6/belt_internalAVLtree.js

+5-11
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,9 @@ function bal(l, x, d, r) {
8484
var lr = l.right;
8585
if (treeHeight(ll) >= treeHeight(lr)) {
8686
return create(ll, lv, ld, create(lr, x, d, r));
87+
} else {
88+
return create(create(ll, lv, ld, lr.left), lr.key, lr.value, create(lr.right, x, d, r));
8789
}
88-
var lrv = lr.key;
89-
var lrd = lr.value;
90-
var lrl = lr.left;
91-
var lrr = lr.right;
92-
return create(create(ll, lv, ld, lrl), lrv, lrd, create(lrr, x, d, r));
9390
}
9491
if (hr <= (hl + 2 | 0)) {
9592
return {
@@ -106,12 +103,9 @@ function bal(l, x, d, r) {
106103
var rr = r.right;
107104
if (treeHeight(rr) >= treeHeight(rl)) {
108105
return create(create(l, x, d, rl), rv, rd, rr);
106+
} else {
107+
return create(create(l, x, d, rl.left), rl.key, rl.value, create(rl.right, rv, rd, rr));
109108
}
110-
var rlv = rl.key;
111-
var rld = rl.value;
112-
var rll = rl.left;
113-
var rlr = rl.right;
114-
return create(create(l, x, d, rll), rlv, rld, create(rlr, rv, rd, rr));
115109
}
116110

117111
function minKey0Aux(_n) {
@@ -600,7 +594,7 @@ function checkInvariantInternal(_v) {
600594
var r = v.right;
601595
var diff = treeHeight(l) - treeHeight(r) | 0;
602596
if (!(diff <= 2 && diff >= -2)) {
603-
throw new Error("File \"belt_internalAVLtree.ml\", line 382, characters 6-12");
597+
throw new Error("File \"belt_internalAVLtree.ml\", line 381, characters 6-12");
604598
}
605599
checkInvariantInternal(l);
606600
_v = r;

Diff for: lib/js/belt_internalAVLtree.js

+5-11
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,9 @@ function bal(l, x, d, r) {
8484
var lr = l.right;
8585
if (treeHeight(ll) >= treeHeight(lr)) {
8686
return create(ll, lv, ld, create(lr, x, d, r));
87+
} else {
88+
return create(create(ll, lv, ld, lr.left), lr.key, lr.value, create(lr.right, x, d, r));
8789
}
88-
var lrv = lr.key;
89-
var lrd = lr.value;
90-
var lrl = lr.left;
91-
var lrr = lr.right;
92-
return create(create(ll, lv, ld, lrl), lrv, lrd, create(lrr, x, d, r));
9390
}
9491
if (hr <= (hl + 2 | 0)) {
9592
return {
@@ -106,12 +103,9 @@ function bal(l, x, d, r) {
106103
var rr = r.right;
107104
if (treeHeight(rr) >= treeHeight(rl)) {
108105
return create(create(l, x, d, rl), rv, rd, rr);
106+
} else {
107+
return create(create(l, x, d, rl.left), rl.key, rl.value, create(rl.right, rv, rd, rr));
109108
}
110-
var rlv = rl.key;
111-
var rld = rl.value;
112-
var rll = rl.left;
113-
var rlr = rl.right;
114-
return create(create(l, x, d, rll), rlv, rld, create(rlr, rv, rd, rr));
115109
}
116110

117111
function minKey0Aux(_n) {
@@ -600,7 +594,7 @@ function checkInvariantInternal(_v) {
600594
var r = v.right;
601595
var diff = treeHeight(l) - treeHeight(r) | 0;
602596
if (!(diff <= 2 && diff >= -2)) {
603-
throw new Error("File \"belt_internalAVLtree.ml\", line 382, characters 6-12");
597+
throw new Error("File \"belt_internalAVLtree.ml\", line 381, characters 6-12");
604598
}
605599
checkInvariantInternal(l);
606600
_v = r;

0 commit comments

Comments
 (0)