Public Member Functions | |
| diff ($from_lines, $to_lines) | |
| _line_hash ($line) | |
| _diag ($xoff, $xlim, $yoff, $ylim, $nchunks) | |
| _lcs_pos ($ypos) | |
| _compareseq ($xoff, $xlim, $yoff, $ylim) | |
| _shift_boundaries ($lines, &$changed, $other_changed) | |
The algorithm used here is mostly lifted from the perl module Algorithm::Diff (version 1.06) by Ned Konz, which is available at: http://www.perl.com/CPAN/authors/id/N/NE/NEDKONZ/Algorithm-Diff-1.06.zip
More ideas are taken from: http://www.ics.uci.edu/~eppstein/161/960229.html
Some ideas are (and a bit of code) are from from analyze.c, from GNU diffutils-2.7, which can be found at: ftp://gnudist.gnu.org/pub/gnu/diffutils/diffutils-2.7.tar.gz
closingly, some ideas (subdivision by NCHUNKS > 2, and some optimizations) are my own.
Line length limits for robustness added by Tim Starling, 2005-08-31
Definition at line 134 of file difference_engine.inc.php.
1.5.1-p1