@@ -174,7 +174,7 @@ let split = (x: key, n) =>
174
174
| Some (n ) => splitAux (x , n )
175
175
}
176
176
177
- let rec mergeU = (s1 , s2 , f ) =>
177
+ let rec merge = (s1 , s2 , f ) =>
178
178
switch (s1 , s2 ) {
179
179
| (None , None ) => None
180
180
| (Some (n ) /* (Node (l1, v1, d1, r1, h1), _) */ , _ )
@@ -185,16 +185,14 @@ let rec mergeU = (s1, s2, f) =>
185
185
} =>
186
186
let {N .left : l1 , key : v1 , value : d1 , right : r1 } = n
187
187
let (l2 , d2 , r2 ) = split (v1 , s2 )
188
- N .concatOrJoin (mergeU (l1 , l2 , f ), v1 , f (v1 , Some (d1 ), d2 ), mergeU (r1 , r2 , f ))
188
+ N .concatOrJoin (merge (l1 , l2 , f ), v1 , f (v1 , Some (d1 ), d2 ), merge (r1 , r2 , f ))
189
189
| (_ , Some (n )) /* Node (l2, v2, d2, r2, h2) */ =>
190
190
let {N .left : l2 , key : v2 , value : d2 , right : r2 } = n
191
191
let (l1 , d1 , r1 ) = split (v2 , s1 )
192
- N .concatOrJoin (mergeU (l1 , l2 , f ), v2 , f (v2 , d1 , Some (d2 )), mergeU (r1 , r2 , f ))
192
+ N .concatOrJoin (merge (l1 , l2 , f ), v2 , f (v2 , d1 , Some (d2 )), merge (r1 , r2 , f ))
193
193
| _ => assert (false )
194
194
}
195
195
196
- let merge = (s1 , s2 , f ) => mergeU (s1 , s2 , (a , b , c ) => f (a , b , c ))
197
-
198
196
let rec compareAux = (e1 , e2 , vcmp ) =>
199
197
switch (e1 , e2 ) {
200
198
| (list {h1 , ... t1 }, list {h2 , ... t2 }) =>
@@ -212,7 +210,7 @@ let rec compareAux = (e1, e2, vcmp) =>
212
210
| (_ , _ ) => 0
213
211
}
214
212
215
- let cmpU = (s1 , s2 , cmp ) => {
213
+ let cmp = (s1 , s2 , cmp ) => {
216
214
let (len1 , len2 ) = (N .size (s1 ), N .size (s2 ))
217
215
if len1 == len2 {
218
216
compareAux (N .stackAllLeft (s1 , list {}), N .stackAllLeft (s2 , list {}), cmp )
@@ -223,8 +221,6 @@ let cmpU = (s1, s2, cmp) => {
223
221
}
224
222
}
225
223
226
- let cmp = (s1 , s2 , f ) => cmpU (s1 , s2 , (a , b ) => f (a , b ))
227
-
228
224
let rec eqAux = (e1 , e2 , eq ) =>
229
225
switch (e1 , e2 ) {
230
226
| (list {h1 , ... t1 }, list {h2 , ... t2 }) =>
@@ -236,7 +232,7 @@ let rec eqAux = (e1, e2, eq) =>
236
232
| (_ , _ ) => true
237
233
} /* end */
238
234
239
- let eqU = (s1 , s2 , eq ) => {
235
+ let eq = (s1 , s2 , eq ) => {
240
236
let (len1 , len2 ) = (N .size (s1 ), N .size (s2 ))
241
237
if len1 == len2 {
242
238
eqAux (N .stackAllLeft (s1 , list {}), N .stackAllLeft (s2 , list {}), eq )
@@ -245,8 +241,6 @@ let eqU = (s1, s2, eq) => {
245
241
}
246
242
}
247
243
248
- let eq = (s1 , s2 , f ) => eqU (s1 , s2 , (a , b ) => f (a , b ))
249
-
250
244
let rec addMutate = (t : t <_ >, x , data ): t <_ > =>
251
245
switch t {
252
246
| None => N .singleton (x , data )
@@ -275,7 +269,7 @@ let fromArray = (xs: array<(key, _)>) => {
275
269
if len == 0 {
276
270
None
277
271
} else {
278
- let next = ref (S .strictlySortedLengthU (xs , ((x0 , _ ), (y0 , _ )) => x0 < y0 ))
272
+ let next = ref (S .strictlySortedLength (xs , ((x0 , _ ), (y0 , _ )) => x0 < y0 ))
279
273
280
274
let result = ref (
281
275
if next .contents >= 0 {
@@ -292,3 +286,7 @@ let fromArray = (xs: array<(key, _)>) => {
292
286
result .contents
293
287
}
294
288
}
289
+
290
+ let cmpU = cmp
291
+ let eqU = eq
292
+ let mergeU = merge
0 commit comments