mirror of
https://github.com/github/semantic.git
synced 2025-01-03 04:51:57 +03:00
Sliding can go in either direction.
This commit is contained in:
parent
f5ddc911d7
commit
8aea2f6d0f
@ -116,7 +116,7 @@ decompose myers = let ?callStack = popCallStack callStack in case myers of
|
|||||||
let xy = if k == negate d || k /= d && x prev < x next
|
let xy = if k == negate d || k /= d && x prev < x next
|
||||||
then next
|
then next
|
||||||
else let x' = succ (x prev) in Endpoint x' (x' - k)
|
else let x' = succ (x prev) in Endpoint x' (x' - k)
|
||||||
let Endpoint x' y' = slide eq xy
|
let Endpoint x' y' = slide 1 eq xy
|
||||||
setForward (v Vector.// [(maxD + k, x')])
|
setForward (v Vector.// [(maxD + k, x')])
|
||||||
return (Endpoint x' y')
|
return (Endpoint x' y')
|
||||||
|
|
||||||
@ -134,10 +134,10 @@ decompose myers = let ?callStack = popCallStack callStack in case myers of
|
|||||||
|
|
||||||
at v k = let x = v ! maxD + k in Endpoint x (x - k)
|
at v k = let x = v ! maxD + k in Endpoint x (x - k)
|
||||||
|
|
||||||
slide eq (Endpoint x y)
|
slide by eq (Endpoint x y)
|
||||||
| x > 0, x < length as
|
| x > 0, x < length as
|
||||||
, y > 0, y < length bs
|
, y > 0, y < length bs
|
||||||
, (as ! x) `eq` (bs ! y) = slide eq (Endpoint (succ x) (succ y))
|
, (as ! x) `eq` (bs ! y) = slide by eq (Endpoint (x + by) (y + by))
|
||||||
| otherwise = Endpoint x y
|
| otherwise = Endpoint x y
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user