amend another Vector tabulate bug
This commit is contained in:
@@ -1095,20 +1095,22 @@ struct
|
|||||||
if Vector.length rightLinesHd > 0 then
|
if Vector.length rightLinesHd > 0 then
|
||||||
let
|
let
|
||||||
val _ = println "996"
|
val _ = println "996"
|
||||||
val lineDeleteEnd = binSearch
|
|
||||||
(String.size newStr - 1, rightLinesHd)
|
|
||||||
val lineDeleteStart =
|
val lineDeleteStart =
|
||||||
Vector.length rightLinesHd - lineDeleteEnd
|
forwardBinSearch (newStrStart, rightLinesHd)
|
||||||
val lineDeleteLength = lineDeleteEnd - lineDeleteStart
|
val _ = println ("1100 = " ^ Int.toString newStrStart)
|
||||||
in
|
in
|
||||||
if lineDeleteEnd >= 0 then
|
if lineDeleteStart < Vector.length rightLinesHd then
|
||||||
Vector.tabulate (lineDeleteLength + 1, fn idx =>
|
let
|
||||||
Vector.sub (rightLinesHd, idx + lineDeleteStart)
|
val lineDeleteLength =
|
||||||
- newStrStart)
|
Vector.length rightLinesHd - lineDeleteStart
|
||||||
|
val _ = println "1105"
|
||||||
|
in
|
||||||
|
Vector.tabulate (lineDeleteLength, fn idx =>
|
||||||
|
Vector.sub (rightLinesHd, idx + lineDeleteStart)
|
||||||
|
- newStrStart)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
(* Subtract by difference in length, which is same as
|
Vector.fromList []
|
||||||
* newStrStart. *)
|
|
||||||
Vector.map (fn idx => idx - newStrStart) rightLinesHd
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
rightLinesHd (* empty vector *)
|
rightLinesHd (* empty vector *)
|
||||||
|
|||||||
Reference in New Issue
Block a user