1
1
mirror of https://github.com/github/semantic.git synced 2024-12-23 06:41:45 +03:00

Restore defaultMoveBound & interpret it as the number of places following the previous index.

This commit is contained in:
Rob Rix 2017-10-23 13:35:00 -04:00
parent 1b432d9cba
commit 3729189aad

View File

@ -169,7 +169,7 @@ findNearestNeighbourTo canCompare kdTreeA kdTreeB term@(UnmappedTerm j _ b) = do
pure (These i j, These a b) pure (These i j, These a b)
nearAndComparableTo :: ComparabilityRelation syntax ann1 ann2 -> Int -> Term syntax ann2 -> UnmappedTerms syntax ann1 -> UnmappedTerms syntax ann1 nearAndComparableTo :: ComparabilityRelation syntax ann1 ann2 -> Int -> Term syntax ann2 -> UnmappedTerms syntax ann1 -> UnmappedTerms syntax ann1
nearAndComparableTo canCompare index term = IntMap.filterWithKey (\ k (UnmappedTerm _ _ term') -> k == succ index && canCompareTerms canCompare term' term) nearAndComparableTo canCompare index term = IntMap.filterWithKey (\ k (UnmappedTerm _ _ term') -> inRange (succ index, index + defaultMoveBound) k && canCompareTerms canCompare term' term)
-- | Finds the most-similar unmapped term to the passed-in term, if any. -- | Finds the most-similar unmapped term to the passed-in term, if any.
-- --
@ -185,11 +185,12 @@ nearestUnmapped unmapped tree key = listToMaybe (sortOn approximateEditDistance
where candidates = toList (IntMap.intersection unmapped (toMap (fmap snd (kNearest tree defaultL (feature key))))) where candidates = toList (IntMap.intersection unmapped (toMap (fmap snd (kNearest tree defaultL (feature key)))))
approximateEditDistance = editDistanceUpTo defaultM . These (term key) . term approximateEditDistance = editDistanceUpTo defaultM . These (term key) . term
defaultD, defaultL, defaultP, defaultQ :: Int defaultD, defaultL, defaultP, defaultQ, defaultMoveBound :: Int
defaultD = 15 defaultD = 15
defaultL = 2 defaultL = 2
defaultP = 2 defaultP = 2
defaultQ = 3 defaultQ = 3
defaultMoveBound = 1
-- Returns a state (insertion index, old unmapped terms, new unmapped terms), and value of (index, inserted diff), -- Returns a state (insertion index, old unmapped terms, new unmapped terms), and value of (index, inserted diff),