Implements the Myers diff algorithm.

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

  • internal
CloneableInstantiable
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.

    • return DiffElem[] Diff (edit script)
    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.

    • return DiffElem[] Diff (edit script), including replace operations
    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.

    • return DiffElem[]
    private extractDiff(array $trace, int $x, int $y, array $a, array $b)
    © 2020 Bruce Wells
    Search Namespaces \ Classes
    ConfigurationNumbers (0-9.) only