Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion jscomp/others/belt_MapDict.ml
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ let rec mergeU s1 s2 f ~cmp =
f k None (Some v) [@bs]
)
| Some s1n , Some s2n ->
if N.h s1n >= N.h s2n then
if N.height s1n >= N.height s2n then
let l1, v1, d1, r1 = N.(left s1n, key s1n, value s1n, right s1n) in
let d2 = ref None in
let (l2, r2) = splitAuxPivot ~cmp s2n v1 d2 in
Expand Down
6 changes: 3 additions & 3 deletions jscomp/others/belt_MutableSet.ml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ type ('k, 'id) t = ('k, 'id) S.t


let rec remove0 nt x ~cmp =
let k = N.key nt in
let k = N.value nt in
let c = cmp x k [@bs] in
if c = 0 then
let l,r = N.(left nt, right nt) in
Expand Down Expand Up @@ -103,7 +103,7 @@ let removeMany d xs =


let rec removeCheck0 nt x removed ~cmp=
let k = N.key nt in
let k = N.value nt in
let c = (Belt_Id.getCmpInternal cmp) x k [@bs] in
if c = 0 then
let () = removed := true in
Expand Down Expand Up @@ -151,7 +151,7 @@ let rec addCheck0 t x added ~cmp =
added := true;
N.singleton x
| Some nt ->
let k = N.key nt in
let k = N.value nt in
let c = cmp x k [@bs] in
if c = 0 then t
else
Expand Down
6 changes: 3 additions & 3 deletions jscomp/others/belt_MutableSetInt.ml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ type t = {


let rec remove0 nt (x : value)=
let k = N.key nt in
let k = N.value nt in
if x = k then
let l,r = N.(left nt, right nt) in
match N.(toOpt l, toOpt r) with
Expand Down Expand Up @@ -99,7 +99,7 @@ let removeMany (d : t) xs =
dataSet d (removeMany0 nt xs 0 len)

let rec removeCheck0 nt (x : value) removed =
let k = N.key nt in
let k = N.value nt in
if x = k then
let () = removed := true in
let l,r = N.(left nt, right nt) in
Expand Down Expand Up @@ -145,7 +145,7 @@ let rec addCheck0 t (x : value) added =
added := true;
N.singleton x
| Some nt ->
let k = N.key nt in
let k = N.value nt in
if x = k then t
else
let l, r = N.(left nt, right nt) in
Expand Down
6 changes: 3 additions & 3 deletions jscomp/others/belt_MutableSetString.ml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ type t = {


let rec remove0 nt (x : value)=
let k = N.key nt in
let k = N.value nt in
if x = k then
let l,r = N.(left nt, right nt) in
match N.(toOpt l, toOpt r) with
Expand Down Expand Up @@ -99,7 +99,7 @@ let removeMany (d : t) xs =
dataSet d (removeMany0 nt xs 0 len)

let rec removeCheck0 nt (x : value) removed =
let k = N.key nt in
let k = N.value nt in
if x = k then
let () = removed := true in
let l,r = N.(left nt, right nt) in
Expand Down Expand Up @@ -145,7 +145,7 @@ let rec addCheck0 t (x : value) added =
added := true;
N.singleton x
| Some nt ->
let k = N.key nt in
let k = N.value nt in
if x = k then t
else
let l, r = N.(left nt, right nt) in
Expand Down
24 changes: 12 additions & 12 deletions jscomp/others/belt_SetDict.ml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ let rec add (t : _ t) x ~cmp : _ t =
match N.toOpt t with
| None -> N.singleton x
| Some nt ->
let k = N.key nt in
let k = N.value nt in
let c = (Belt_Id.getCmpInternal cmp) x k [@bs] in
if c = 0 then t
else
Expand All @@ -56,14 +56,14 @@ let rec remove (t : _ t) x ~cmp : _ t =
match N.toOpt t with
None -> t
| Some n ->
let l,v,r = N.(left n , key n, right n) in
let l,v,r = N.(left n , value n, right n) in
let c = (Belt_Id.getCmpInternal cmp) x v [@bs] in
if c = 0 then
match N.toOpt l, N.toOpt r with
| (None, _) -> r
| (_, None) -> l
| (_, Some rn) ->
let v = ref (N.key rn) in
let v = ref (N.value rn) in
let r = N.removeMinAuxWithRef rn v in
N.bal l !v r
else
Expand Down Expand Up @@ -95,7 +95,7 @@ let removeMany h arr ~cmp =
!v

let rec splitAuxNoPivot ~cmp (n : _ N.node) x : _ * _ =
let l,v,r = N.(left n , key n, right n) in
let l,v,r = N.(left n , value n, right n) in
let c = (Belt_Id.getCmpInternal cmp) x v [@bs] in
if c = 0 then l,r
else
Expand All @@ -115,7 +115,7 @@ let rec splitAuxNoPivot ~cmp (n : _ N.node) x : _ * _ =
N.joinShared l v lr, rr

let rec splitAuxPivot ~cmp (n : _ N.node) x pres : _ * _ =
let l,v,r = N.(left n , key n, right n) in
let l,v,r = N.(left n , value n, right n) in
let c = (Belt_Id.getCmpInternal cmp) x v [@bs] in
if c = 0 then
begin
Expand Down Expand Up @@ -155,18 +155,18 @@ let rec union (s1 : _ t) (s2 : _ t) ~cmp : _ t =
(None, _) -> s2
| (_, None) -> s1
| Some n1, Some n2 ->
let h1, h2 = N.(h n1 , h n2) in
let h1, h2 = N.(height n1 , height n2) in
if h1 >= h2 then
if h2 = 1 then add ~cmp s1 (N.key n2)
if h2 = 1 then add ~cmp s1 (N.value n2)
else begin
let l1, v1, r1 = N.(left n1, key n1, right n1) in
let l1, v1, r1 = N.(left n1, value n1, right n1) in
let l2, r2 = splitAuxNoPivot ~cmp n2 v1 in
N.joinShared (union ~cmp l1 l2) v1 (union ~cmp r1 r2)
end
else
if h1 = 1 then add s2 ~cmp (N.key n1)
if h1 = 1 then add s2 ~cmp (N.value n1)
else begin
let l2, v2, r2 = N.(left n2 , key n2, right n2) in
let l2, v2, r2 = N.(left n2 , value n2, right n2) in
let l1, r1 = splitAuxNoPivot ~cmp n1 v2 in
N.joinShared (union ~cmp l1 l2) v2 (union ~cmp r1 r2)
end
Expand All @@ -176,7 +176,7 @@ let rec intersect (s1 : _ t) (s2 : _ t) ~cmp =
| None, _
| _, None -> N.empty
| Some n1, Some n2 ->
let l1,v1,r1 = N.(left n1, key n1, right n1) in
let l1,v1,r1 = N.(left n1, value n1, right n1) in
let pres = ref false in
let l2,r2 = splitAuxPivot ~cmp n2 v1 pres in
let ll = intersect ~cmp l1 l2 in
Expand All @@ -189,7 +189,7 @@ let rec diff s1 s2 ~cmp =
(None, _)
| (_, None) -> s1
| Some n1, Some n2 ->
let l1,v1,r1 = N.(left n1, key n1, right n1) in
let l1,v1,r1 = N.(left n1, value n1, right n1) in
let pres = ref false in
let l2, r2 = splitAuxPivot ~cmp n2 v1 pres in
let ll = diff ~cmp l1 l2 in
Expand Down
26 changes: 13 additions & 13 deletions jscomp/others/belt_SetInt.ml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ let rec add (t : t) (x : value) : t =
match N.toOpt t with
None -> N.singleton x
| Some nt ->
let v = N.key nt in
let v = N.value nt in
if x = v then t else
let l, r = N.(left nt , right nt) in
if x < v then
Expand All @@ -64,13 +64,13 @@ let rec remove (t : t) (x : value) : t =
match N.toOpt t with
| None -> t
| Some n ->
let l,v,r = N.(left n, key n, right n) in
let l,v,r = N.(left n, value n, right n) in
if x = v then
match N.toOpt l, N.toOpt r with
| None, _ -> r
| _, None -> l
| _, Some rn ->
let v = ref (N.key rn) in
let v = ref (N.value rn) in
let r = N.removeMinAuxWithRef rn v in
N.bal l !v r
else
Expand Down Expand Up @@ -102,7 +102,7 @@ let subset = I.subset
let has = I.has

let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =
let l,v,r = N.(left n , key n, right n) in
let l,v,r = N.(left n , value n, right n) in
if x = v then l, r
else if x < v then
match N.toOpt l with
Expand All @@ -121,9 +121,9 @@ let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =


let rec splitAuxPivot (n : _ N.node) (x : value) pres : t * t =
let l,v,r = N.(left n , key n, right n) in
let l,v,r = N.(left n , value n, right n) in
if x = v then begin
pres := true;
pres := true;
(l, r)
end
else if x < v then
Expand Down Expand Up @@ -156,16 +156,16 @@ let rec union (s1 : t) (s2 : t) =
(None, _) -> s2
| (_, None) -> s1
| Some n1, Some n2 (* (Node(l1, v1, r1, h1), Node(l2, v2, r2, h2)) *) ->
let h1, h2 = N.(h n1 , h n2) in
let h1, h2 = N.(height n1 , height n2) in
if h1 >= h2 then
if h2 = 1 then add s1 (N.key n2) else begin
let l1, v1, r1 = N.(left n1, key n1, right n1) in
if h2 = 1 then add s1 (N.value n2) else begin
let l1, v1, r1 = N.(left n1, value n1, right n1) in
let (l2, r2) = splitAuxNoPivot n2 v1 in
N.joinShared (union l1 l2) v1 (union r1 r2)
end
else
if h1 = 1 then add s2 (N.key n1) else begin
let l2, v2, r2 = N.(left n2 , key n2, right n2) in
if h1 = 1 then add s2 (N.value n1) else begin
let l2, v2, r2 = N.(left n2 , value n2, right n2) in
let (l1, r1) = splitAuxNoPivot n1 v2 in
N.joinShared (union l1 l2) v2 (union r1 r2)
end
Expand All @@ -175,7 +175,7 @@ let rec intersect (s1 : t) (s2 : t) =
(None, _)
| (_, None) -> N.empty
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
let l1,v1,r1 = N.(left n1, key n1, right n1) in
let l1,v1,r1 = N.(left n1, value n1, right n1) in
let pres = ref false in
let l2,r2 = splitAuxPivot n2 v1 pres in
let ll = intersect l1 l2 in
Expand All @@ -188,7 +188,7 @@ let rec diff (s1 : t) (s2 : t) =
| (None, _)
| (_, None) -> s1
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
let l1,v1,r1 = N.(left n1, key n1, right n1) in
let l1,v1,r1 = N.(left n1, value n1, right n1) in
let pres = ref false in
let l2, r2 = splitAuxPivot n2 v1 pres in
let ll = diff l1 l2 in
Expand Down
26 changes: 13 additions & 13 deletions jscomp/others/belt_SetString.ml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ let rec add (t : t) (x : value) : t =
match N.toOpt t with
None -> N.singleton x
| Some nt ->
let v = N.key nt in
let v = N.value nt in
if x = v then t else
let l, r = N.(left nt , right nt) in
if x < v then
Expand All @@ -64,13 +64,13 @@ let rec remove (t : t) (x : value) : t =
match N.toOpt t with
| None -> t
| Some n ->
let l,v,r = N.(left n, key n, right n) in
let l,v,r = N.(left n, value n, right n) in
if x = v then
match N.toOpt l, N.toOpt r with
| None, _ -> r
| _, None -> l
| _, Some rn ->
let v = ref (N.key rn) in
let v = ref (N.value rn) in
let r = N.removeMinAuxWithRef rn v in
N.bal l !v r
else
Expand Down Expand Up @@ -102,7 +102,7 @@ let subset = I.subset
let has = I.has

let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =
let l,v,r = N.(left n , key n, right n) in
let l,v,r = N.(left n , value n, right n) in
if x = v then l, r
else if x < v then
match N.toOpt l with
Expand All @@ -121,9 +121,9 @@ let rec splitAuxNoPivot (n : _ N.node) (x : value) : t * t =


let rec splitAuxPivot (n : _ N.node) (x : value) pres : t * t =
let l,v,r = N.(left n , key n, right n) in
let l,v,r = N.(left n , value n, right n) in
if x = v then begin
pres := true;
pres := true;
(l, r)
end
else if x < v then
Expand Down Expand Up @@ -156,16 +156,16 @@ let rec union (s1 : t) (s2 : t) =
(None, _) -> s2
| (_, None) -> s1
| Some n1, Some n2 (* (Node(l1, v1, r1, h1), Node(l2, v2, r2, h2)) *) ->
let h1, h2 = N.(h n1 , h n2) in
let h1, h2 = N.(height n1 , height n2) in
if h1 >= h2 then
if h2 = 1 then add s1 (N.key n2) else begin
let l1, v1, r1 = N.(left n1, key n1, right n1) in
if h2 = 1 then add s1 (N.value n2) else begin
let l1, v1, r1 = N.(left n1, value n1, right n1) in
let (l2, r2) = splitAuxNoPivot n2 v1 in
N.joinShared (union l1 l2) v1 (union r1 r2)
end
else
if h1 = 1 then add s2 (N.key n1) else begin
let l2, v2, r2 = N.(left n2 , key n2, right n2) in
if h1 = 1 then add s2 (N.value n1) else begin
let l2, v2, r2 = N.(left n2 , value n2, right n2) in
let (l1, r1) = splitAuxNoPivot n1 v2 in
N.joinShared (union l1 l2) v2 (union r1 r2)
end
Expand All @@ -175,7 +175,7 @@ let rec intersect (s1 : t) (s2 : t) =
(None, _)
| (_, None) -> N.empty
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
let l1,v1,r1 = N.(left n1, key n1, right n1) in
let l1,v1,r1 = N.(left n1, value n1, right n1) in
let pres = ref false in
let l2,r2 = splitAuxPivot n2 v1 pres in
let ll = intersect l1 l2 in
Expand All @@ -188,7 +188,7 @@ let rec diff (s1 : t) (s2 : t) =
| (None, _)
| (_, None) -> s1
| Some n1, Some n2 (* (Node(l1, v1, r1, _), t2) *) ->
let l1,v1,r1 = N.(left n1, key n1, right n1) in
let l1,v1,r1 = N.(left n1, value n1, right n1) in
let pres = ref false in
let l2, r2 = splitAuxPivot n2 v1 pres in
let ll = diff l1 l2 in
Expand Down
Loading