Skip to content

Commit 5a83c41

Browse files
committed
snapshot changes
1 parent a57c01a commit 5a83c41

10 files changed

+299
-311
lines changed

lib/js/belt_MapDict.js

Lines changed: 75 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ function set(t, newK, newD, cmp) {
77
if (t !== null) {
88
var k = t.key;
99
var c = cmp(newK, k);
10-
if (c) {
10+
if (c === 0) {
11+
return Belt_internalAVLtree.updateValue(t, newD);
12+
} else {
1113
var l = t.left;
1214
var r = t.right;
1315
var v = t.value;
@@ -16,8 +18,6 @@ function set(t, newK, newD, cmp) {
1618
} else {
1719
return Belt_internalAVLtree.bal(l, k, v, set(r, newK, newD, cmp));
1820
}
19-
} else {
20-
return Belt_internalAVLtree.updateValue(t, newD);
2121
}
2222
} else {
2323
return Belt_internalAVLtree.singleton(newK, newD);
@@ -28,43 +28,43 @@ function updateU(t, newK, f, cmp) {
2828
if (t !== null) {
2929
var k = t.key;
3030
var c = cmp(newK, k);
31-
if (c) {
32-
var l = t.left;
33-
var r = t.right;
31+
if (c === 0) {
32+
var match = f(/* Some */[t.value]);
33+
if (match) {
34+
return Belt_internalAVLtree.updateValue(t, match[0]);
35+
} else {
36+
var l = t.left;
37+
var r = t.right;
38+
if (l !== null) {
39+
if (r !== null) {
40+
var kr = [r.key];
41+
var vr = [r.value];
42+
var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr);
43+
return Belt_internalAVLtree.bal(l, kr[0], vr[0], r$1);
44+
} else {
45+
return l;
46+
}
47+
} else {
48+
return r;
49+
}
50+
}
51+
} else {
52+
var l$1 = t.left;
53+
var r$2 = t.right;
3454
var v = t.value;
3555
if (c < 0) {
36-
var ll = updateU(l, newK, f, cmp);
37-
if (l === ll) {
56+
var ll = updateU(l$1, newK, f, cmp);
57+
if (l$1 === ll) {
3858
return t;
3959
} else {
40-
return Belt_internalAVLtree.bal(ll, k, v, r);
60+
return Belt_internalAVLtree.bal(ll, k, v, r$2);
4161
}
4262
} else {
43-
var rr = updateU(r, newK, f, cmp);
44-
if (r === rr) {
63+
var rr = updateU(r$2, newK, f, cmp);
64+
if (r$2 === rr) {
4565
return t;
4666
} else {
47-
return Belt_internalAVLtree.bal(l, k, v, rr);
48-
}
49-
}
50-
} else {
51-
var match = f(/* Some */[t.value]);
52-
if (match) {
53-
return Belt_internalAVLtree.updateValue(t, match[0]);
54-
} else {
55-
var l$1 = t.left;
56-
var r$1 = t.right;
57-
if (l$1 !== null) {
58-
if (r$1 !== null) {
59-
var kr = [r$1.key];
60-
var vr = [r$1.value];
61-
var r$2 = Belt_internalAVLtree.removeMinAuxWithRef(r$1, kr, vr);
62-
return Belt_internalAVLtree.bal(l$1, kr[0], vr[0], r$2);
63-
} else {
64-
return l$1;
65-
}
66-
} else {
67-
return r$1;
67+
return Belt_internalAVLtree.bal(l$1, k, v, rr);
6868
}
6969
}
7070
}
@@ -87,39 +87,39 @@ function removeAux0(n, x, cmp) {
8787
var v = n.key;
8888
var r = n.right;
8989
var c = cmp(x, v);
90-
if (c) {
91-
if (c < 0) {
92-
if (l !== null) {
93-
var ll = removeAux0(l, x, cmp);
94-
if (ll === l) {
95-
return n;
96-
} else {
97-
return Belt_internalAVLtree.bal(ll, v, n.value, r);
98-
}
90+
if (c === 0) {
91+
if (l !== null) {
92+
if (r !== null) {
93+
var kr = [r.key];
94+
var vr = [r.value];
95+
var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr);
96+
return Belt_internalAVLtree.bal(l, kr[0], vr[0], r$1);
9997
} else {
100-
return n;
98+
return l;
10199
}
102-
} else if (r !== null) {
103-
var rr = removeAux0(r, x, cmp);
104-
if (rr === r) {
100+
} else {
101+
return r;
102+
}
103+
} else if (c < 0) {
104+
if (l !== null) {
105+
var ll = removeAux0(l, x, cmp);
106+
if (ll === l) {
105107
return n;
106108
} else {
107-
return Belt_internalAVLtree.bal(l, v, n.value, rr);
109+
return Belt_internalAVLtree.bal(ll, v, n.value, r);
108110
}
109111
} else {
110112
return n;
111113
}
112-
} else if (l !== null) {
113-
if (r !== null) {
114-
var kr = [r.key];
115-
var vr = [r.value];
116-
var r$1 = Belt_internalAVLtree.removeMinAuxWithRef(r, kr, vr);
117-
return Belt_internalAVLtree.bal(l, kr[0], vr[0], r$1);
114+
} else if (r !== null) {
115+
var rr = removeAux0(r, x, cmp);
116+
if (rr === r) {
117+
return n;
118118
} else {
119-
return l;
119+
return Belt_internalAVLtree.bal(l, v, n.value, rr);
120120
}
121121
} else {
122-
return r;
122+
return n;
123123
}
124124
}
125125

@@ -147,37 +147,35 @@ function splitAuxPivot(n, x, pres, cmp) {
147147
var d = n.value;
148148
var r = n.right;
149149
var c = cmp(x, v);
150-
if (c) {
151-
if (c < 0) {
152-
if (l !== null) {
153-
var match = splitAuxPivot(l, x, pres, cmp);
154-
return /* tuple */[
155-
match[0],
156-
Belt_internalAVLtree.join(match[1], v, d, r)
157-
];
158-
} else {
159-
return /* tuple */[
160-
Belt_internalAVLtree.empty,
161-
n
162-
];
163-
}
164-
} else if (r !== null) {
165-
var match$1 = splitAuxPivot(r, x, pres, cmp);
150+
if (c === 0) {
151+
pres[0] = /* Some */[d];
152+
return /* tuple */[
153+
l,
154+
r
155+
];
156+
} else if (c < 0) {
157+
if (l !== null) {
158+
var match = splitAuxPivot(l, x, pres, cmp);
166159
return /* tuple */[
167-
Belt_internalAVLtree.join(l, v, d, match$1[0]),
168-
match$1[1]
160+
match[0],
161+
Belt_internalAVLtree.join(match[1], v, d, r)
169162
];
170163
} else {
171164
return /* tuple */[
172-
n,
173-
Belt_internalAVLtree.empty
165+
Belt_internalAVLtree.empty,
166+
n
174167
];
175168
}
169+
} else if (r !== null) {
170+
var match$1 = splitAuxPivot(r, x, pres, cmp);
171+
return /* tuple */[
172+
Belt_internalAVLtree.join(l, v, d, match$1[0]),
173+
match$1[1]
174+
];
176175
} else {
177-
pres[0] = /* Some */[d];
178176
return /* tuple */[
179-
l,
180-
r
177+
n,
178+
Belt_internalAVLtree.empty
181179
];
182180
}
183181
}

lib/js/belt_MutableMap.js

Lines changed: 37 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,7 @@ var Belt_internalAVLtree = require("./belt_internalAVLtree.js");
66
function removeMutateAux(nt, x, cmp) {
77
var k = nt.key;
88
var c = cmp(x, k);
9-
if (c) {
10-
if (c < 0) {
11-
var match = nt.left;
12-
if (match !== null) {
13-
nt.left = removeMutateAux(match, x, cmp);
14-
return Belt_internalAVLtree.balMutate(nt);
15-
} else {
16-
return nt;
17-
}
18-
} else {
19-
var match$1 = nt.right;
20-
if (match$1 !== null) {
21-
nt.right = removeMutateAux(match$1, x, cmp);
22-
return Belt_internalAVLtree.balMutate(nt);
23-
} else {
24-
return nt;
25-
}
26-
}
27-
} else {
9+
if (c === 0) {
2810
var l = nt.left;
2911
var r = nt.right;
3012
if (l !== null) {
@@ -39,6 +21,22 @@ function removeMutateAux(nt, x, cmp) {
3921
} else {
4022
return l;
4123
}
24+
} else if (c < 0) {
25+
var match = nt.left;
26+
if (match !== null) {
27+
nt.left = removeMutateAux(match, x, cmp);
28+
return Belt_internalAVLtree.balMutate(nt);
29+
} else {
30+
return nt;
31+
}
32+
} else {
33+
var match$1 = nt.right;
34+
if (match$1 !== null) {
35+
nt.right = removeMutateAux(match$1, x, cmp);
36+
return Belt_internalAVLtree.balMutate(nt);
37+
} else {
38+
return nt;
39+
}
4240
}
4341
}
4442

@@ -98,37 +96,37 @@ function updateDone(t, x, f, cmp) {
9896
if (t !== null) {
9997
var k = t.key;
10098
var c = cmp(x, k);
101-
if (c) {
102-
var l = t.left;
103-
var r = t.right;
104-
if (c < 0) {
105-
var ll = updateDone(l, x, f, cmp);
106-
t.left = ll;
107-
} else {
108-
t.right = updateDone(r, x, f, cmp);
109-
}
110-
return Belt_internalAVLtree.balMutate(t);
111-
} else {
99+
if (c === 0) {
112100
var match = f(/* Some */[t.value]);
113101
if (match) {
114102
t.value = match[0];
115103
return t;
116104
} else {
117-
var l$1 = t.left;
118-
var r$1 = t.right;
119-
if (l$1 !== null) {
120-
if (r$1 !== null) {
121-
t.right = Belt_internalAVLtree.removeMinAuxWithRootMutate(t, r$1);
105+
var l = t.left;
106+
var r = t.right;
107+
if (l !== null) {
108+
if (r !== null) {
109+
t.right = Belt_internalAVLtree.removeMinAuxWithRootMutate(t, r);
122110
return Belt_internalAVLtree.balMutate(t);
123111
} else {
124-
return l$1;
112+
return l;
125113
}
126-
} else if (r$1 !== null) {
127-
return r$1;
114+
} else if (r !== null) {
115+
return r;
128116
} else {
129-
return l$1;
117+
return l;
130118
}
131119
}
120+
} else {
121+
var l$1 = t.left;
122+
var r$1 = t.right;
123+
if (c < 0) {
124+
var ll = updateDone(l$1, x, f, cmp);
125+
t.left = ll;
126+
} else {
127+
t.right = updateDone(r$1, x, f, cmp);
128+
}
129+
return Belt_internalAVLtree.balMutate(t);
132130
}
133131
} else {
134132
var match$1 = f(/* None */0);

0 commit comments

Comments
 (0)