Addresses reviewer comments

This commit is contained in:
Bikal Gurung 2017-06-29 18:13:39 +01:00
parent 7a9a741bb0
commit 745c0cd78e

View file

@ -1357,30 +1357,18 @@ let pp ?(start="") ?(stop="") ?(sep=", ") pp_item fmt l =
let split l = let split l =
let rec direct i l = match l with let rec direct i l = match l with
| [] -> ([],[]) | [] -> ([],[])
| [(x1,y1)] -> ([x1], [y1]) | [ x1,y1 ] -> [x1], [y1]
| [i1; i2] -> | [ x1, y1; x2, y2 ] -> [x1;x2], [y1;y2]
let (x1, y1) = i1 in | [ x1, y1; x2, y2 ; x3, y3 ] -> [x1;x2;x3], [y1;y2;y3]
let (x2, y2) = i2 in | [ x1, y1; x2, y2; x3, y3; x4, y4] -> [x1;x2;x3;x4], [y1;y2;y3;y4]
([x1;x2], [y1;y2])
| [i1; i2; i3] ->
let (x1, y1) = i1 in
let (x2, y2) = i2 in
let (x3, y3) = i3 in
([x1;x2;x3], [y1;y2;y3])
| [i1; i2; i3; i4] ->
let (x1, y1) = i1 in
let (x2, y2) = i2 in
let (x3, y3) = i3 in
let (x4, y4) = i4 in
([x1;x2;x3;x4], [y1;y2;y3;y4])
| _ when i=0 -> split_slow ([], []) l | _ when i=0 -> split_slow ([], []) l
| i1 :: i2 :: i3 :: i4 :: i5 :: l' -> | (x1, y1) ::
let (x1, y1) = i1 in (x2, y2) ::
let (x2, y2) = i2 in (x3, y3) ::
let (x3, y3) = i3 in (x4, y4) ::
let (x4, y4) = i4 in (x5, y5) :: l' ->
let (x5, y5) = i5 in let rx, ry = direct (i-1) l'
let (rx, ry) = direct (i-1) l' in in
(x1 :: x2 :: x3 :: x4 :: x5 :: rx (x1 :: x2 :: x3 :: x4 :: x5 :: rx
,y1 :: y2 :: y3 :: y4 :: y5 :: ry) ,y1 :: y2 :: y3 :: y4 :: y5 :: ry)
and split_slow acc l = match l with and split_slow acc l = match l with
@ -1388,7 +1376,8 @@ let split l =
| (x1, y1) :: l' -> | (x1, y1) :: l' ->
let (x_acc, y_acc) = acc in let (x_acc, y_acc) = acc in
let x_acc = x1 :: x_acc in let x_acc = x1 :: x_acc in
let y_acc = y1 :: y_acc in let y_acc = y1 :: y_acc
in
split_slow (x_acc, y_acc) l' split_slow (x_acc, y_acc) l'
in in
direct direct_depth_default_ l direct direct_depth_default_ l