Implements the Myers diff algorithm.

Myers, Eugene W. "An O (ND) difference algorithm and its variations."
Algorithmica 1.1 (1986): 251-266.

  • internal
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
    will be coalesced into replace operations.

    private $isEqual
    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)
    © 2020 Bruce Wells
    Search Namespaces \ Classes
    ConfigurationNumbers (0-9.) only