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