diffson.lcs

package diffson.lcs

Type members

Classlikes

class DynamicProgLcs[T] extends Lcs[T]

Implementation of the LCS using dynamic programming.

Implementation of the LCS using dynamic programming.

Source:
DynamicProgLcs.scala
object Hashed
Companion:
class
Source:
HashedLcs.scala
class Hashed[T](val value: T)(implicit evidence$2: Eq[T])

Wraps provided value together with its hashCode. Equals is overridden to first check hashCode and then delegate to the wrapped value.

Wraps provided value together with its hashCode. Equals is overridden to first check hashCode and then delegate to the wrapped value.

Value parameters:
value

wrapped value

Companion:
object
Source:
HashedLcs.scala
class HashedLcs[T](delegate: Lcs[Hashed[T]])(implicit evidence$1: Eq[T]) extends Lcs[T]

Speeds up LCS computations by pre-computing hashes for all objects. Very useful for objects that recompute hashCodes on each invocation.

Speeds up LCS computations by pre-computing hashes for all objects. Very useful for objects that recompute hashCodes on each invocation.

Value parameters:
delegate

Decorated LCS implementation.

Source:
HashedLcs.scala
abstract class Lcs[T]

The interface to classes that computes the longest common subsequence between two sequences of elements

The interface to classes that computes the longest common subsequence between two sequences of elements

Source:
Lcs.scala
class Patience[T](withFallback: Boolean)(implicit evidence$1: Eq[T]) extends Lcs[T]

Implementation of the patience algorithm [1] to compute the longest common subsequence

Implementation of the patience algorithm [1] to compute the longest common subsequence

[1] http://alfedenzo.livejournal.com/170301.html

Value parameters:
withFallback

whether to fallback to classic LCS when patience could not find the LCS

Source:
Patience.scala