Skip to content

Commit e50df91

Browse files
committed
makes the code more readable
1 parent a084c99 commit e50df91

File tree

3 files changed

+24
-34
lines changed

3 files changed

+24
-34
lines changed

jscomp/others/belt_internalAVLset.ml

+14-20
Original file line numberDiff line numberDiff line change
@@ -80,26 +80,20 @@ let bal l v r =
8080
let hl = match l with None -> 0 | Some n -> n.height in
8181
let hr = match r with None -> 0 | Some n -> n.height in
8282
if hl > hr + 2 then begin
83-
match l with None -> assert false
84-
| Some {left = ll; value = lv; right = lr} ->
85-
if heightGe ll lr then
86-
create ll lv (create lr v r)
87-
else begin
88-
match lr with None -> assert false
89-
| Some lr ->
90-
create (create ll lv lr.left) lr.value (create lr.right v r)
91-
end
92-
end else if hr > hl + 2 then begin
93-
match r with None -> assert false
94-
| Some {left = rl; value = rv; right = rr} ->
95-
if heightGe rr rl then
96-
create (create l v rl) rv rr
97-
else begin
98-
match rl with None -> assert false
99-
| Some rl ->
100-
create (create l v rl.left) rl.value (create rl.right rv rr)
101-
end
102-
end else
83+
match l with None -> assert false | Some ({left = ll; right = lr} as l) ->
84+
if heightGe ll lr then
85+
create ll l.value (create lr v r)
86+
else
87+
match lr with None -> assert false | Some lr ->
88+
create (create ll l.value lr.left) lr.value (create lr.right v r)
89+
end else if hr > hl + 2 then
90+
match r with None -> assert false | Some ({left = rl; right = rr} as r) ->
91+
if heightGe rr rl then
92+
create (create l v rl) r.value rr
93+
else
94+
match rl with None -> assert false | Some rl ->
95+
create (create l v rl.left) rl.value (create rl.right r.value rr)
96+
else
10397
Some {left = l ; value = v ; right = r; height = (if hl >= hr then hl + 1 else hr + 1)}
10498

10599

lib/es6/belt_internalAVLset.js

+5-7
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,12 @@ function bal(l, v, r) {
6161
var hl = l !== undefined ? l.height : 0;
6262
var hr = r !== undefined ? r.height : 0;
6363
if (hl > (hr + 2 | 0)) {
64-
var lv = l.value;
6564
var ll = l.left;
6665
var lr = l.right;
6766
if (heightGe(ll, lr)) {
68-
return create(ll, lv, create(lr, v, r));
67+
return create(ll, l.value, create(lr, v, r));
6968
} else {
70-
return create(create(ll, lv, lr.left), lr.value, create(lr.right, v, r));
69+
return create(create(ll, l.value, lr.left), lr.value, create(lr.right, v, r));
7170
}
7271
}
7372
if (hr <= (hl + 2 | 0)) {
@@ -78,13 +77,12 @@ function bal(l, v, r) {
7877
right: r
7978
};
8079
}
81-
var rv = r.value;
8280
var rl = r.left;
8381
var rr = r.right;
8482
if (heightGe(rr, rl)) {
85-
return create(create(l, v, rl), rv, rr);
83+
return create(create(l, v, rl), r.value, rr);
8684
} else {
87-
return create(create(l, v, rl.left), rl.value, create(rl.right, rv, rr));
85+
return create(create(l, v, rl.left), rl.value, create(rl.right, r.value, rr));
8886
}
8987
}
9088

@@ -372,7 +370,7 @@ function checkInvariantInternal(_v) {
372370
var r = v.right;
373371
var diff = treeHeight(l) - treeHeight(r) | 0;
374372
if (!(diff <= 2 && diff >= -2)) {
375-
throw new Error("File \"belt_internalAVLset.ml\", line 294, characters 6-12");
373+
throw new Error("File \"belt_internalAVLset.ml\", line 288, characters 6-12");
376374
}
377375
checkInvariantInternal(l);
378376
_v = r;

lib/js/belt_internalAVLset.js

+5-7
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,12 @@ function bal(l, v, r) {
6161
var hl = l !== undefined ? l.height : 0;
6262
var hr = r !== undefined ? r.height : 0;
6363
if (hl > (hr + 2 | 0)) {
64-
var lv = l.value;
6564
var ll = l.left;
6665
var lr = l.right;
6766
if (heightGe(ll, lr)) {
68-
return create(ll, lv, create(lr, v, r));
67+
return create(ll, l.value, create(lr, v, r));
6968
} else {
70-
return create(create(ll, lv, lr.left), lr.value, create(lr.right, v, r));
69+
return create(create(ll, l.value, lr.left), lr.value, create(lr.right, v, r));
7170
}
7271
}
7372
if (hr <= (hl + 2 | 0)) {
@@ -78,13 +77,12 @@ function bal(l, v, r) {
7877
right: r
7978
};
8079
}
81-
var rv = r.value;
8280
var rl = r.left;
8381
var rr = r.right;
8482
if (heightGe(rr, rl)) {
85-
return create(create(l, v, rl), rv, rr);
83+
return create(create(l, v, rl), r.value, rr);
8684
} else {
87-
return create(create(l, v, rl.left), rl.value, create(rl.right, rv, rr));
85+
return create(create(l, v, rl.left), rl.value, create(rl.right, r.value, rr));
8886
}
8987
}
9088

@@ -372,7 +370,7 @@ function checkInvariantInternal(_v) {
372370
var r = v.right;
373371
var diff = treeHeight(l) - treeHeight(r) | 0;
374372
if (!(diff <= 2 && diff >= -2)) {
375-
throw new Error("File \"belt_internalAVLset.ml\", line 294, characters 6-12");
373+
throw new Error("File \"belt_internalAVLset.ml\", line 288, characters 6-12");
376374
}
377375
checkInvariantInternal(l);
378376
_v = r;

0 commit comments

Comments
 (0)