function DiffEngine::_lcs_pos
Same name in other branches
- 8.9.x core/lib/Drupal/Component/Diff/Engine/DiffEngine.php \Drupal\Component\Diff\Engine\DiffEngine::_lcs_pos()
- 10 core/lib/Drupal/Component/Diff/Engine/DiffEngine.php \Drupal\Component\Diff\Engine\DiffEngine::_lcs_pos()
1 call to DiffEngine::_lcs_pos()
- DiffEngine::_diag in core/
lib/ Drupal/ Component/ Diff/ Engine/ DiffEngine.php - Divide the Largest Common Subsequence (LCS) of the sequences [XOFF, XLIM) and [YOFF, YLIM) into NCHUNKS approximately equally sized segments.
File
-
core/
lib/ Drupal/ Component/ Diff/ Engine/ DiffEngine.php, line 244
Class
- DiffEngine
- Class used internally by Diff to actually compute the diffs.
Namespace
Drupal\Component\Diff\EngineCode
protected function _lcs_pos($ypos) {
$end = $this->lcs;
if ($end == 0 || $ypos > $this->seq[$end]) {
$this->seq[++$this->lcs] = $ypos;
$this->in_seq[$ypos] = 1;
return $this->lcs;
}
$beg = 1;
while ($beg < $end) {
$mid = (int) (($beg + $end) / 2);
if ($ypos > $this->seq[$mid]) {
$beg = $mid + 1;
}
else {
$end = $mid;
}
}
$this::USE_ASSERTS && assert($ypos != $this->seq[$end]);
$this->in_seq[$this->seq[$end]] = FALSE;
$this->seq[$end] = $ypos;
$this->in_seq[$ypos] = 1;
return $end;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.