Version: current

# Class _DiffEngine

Class used internally by Diff to actually compute the diffs.

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

Finally, some ideas (subdivision by NCHUNKS > 2, and some optimizations) are my own.

Package: cms\core
Author: Geoffrey T. Dairiki
Located at cms/code/Diff.php

## Methods summary

`public` | # `diff( mixed $from_lines, mixed $to_lines )`
`public` | # `_diag( mixed $xoff, mixed $xlim, mixed $yoff, mixed $ylim, mixed $nchunks )`
`public` | # `_lcs_pos( mixed $ypos )`
`public` | # `_compareseq( mixed $xoff, mixed $xlim, mixed $yoff, mixed $ylim )`
`public` | # `_shift_boundaries( mixed $lines, mixed & $changed, mixed $other_changed )`

### Magic methods summary

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -