Implements the Myers diff algorithm.
Myers, Eugene W. "An O (ND) difference algorithm and its variations."
Algorithmica 1.1 (1986): 251-266.
- internal
Cloneable
Instantiable
Methods |
public
__construct
(
callable
$isEqual
) Create differ over the given equality relation.
|
public
diff
(
array
$old
,
array
$new
) Calculate diff (edit script) from $old to $new.
|
public
diffWithReplacements
(
array
$old
,
array
$new
) Calculate diff, including "replace" operations. If a sequence of remove operations is followed by the same number of add operations, these
|
Properties |
private $isEqual |
Methods |
private calculateTrace ( array $a , array $b ) |
private
coalesceReplacements
(
array
$diff
) Coalesce equal-length sequences of remove+add into a replace operation.
|
private extractDiff ( array $trace , int $x , int $y , array $a , array $b ) |