public DamerauLevenshteinCorrelater(IDistanceCalculator <T> distanceCalculator, ITranspositionCalculator <T> transpositionCalculator, IRemovalCalculator <T> removalCalculator, IInsertionCalculator <T> insertionCalculator) { if (default(T) != null && typeof(T) != typeof(char)) { throw new EnumerableCorrelaterException($"{nameof(T)} must be nullable or a char"); } this.distanceCalculator = distanceCalculator; this.transpositionCalculator = transpositionCalculator; this.removalCalculator = removalCalculator; this.insertionCalculator = insertionCalculator; }
public DamerauLevenshteinCorrelater(IDistanceCalculator <T> distanceCalculator, ITranspositionCalculator <T> transpositionCalculator, uint removalCost, uint insertionCost) : this(distanceCalculator, transpositionCalculator, new BasicRemovalCalculator <T>(removalCost), new BasicInsertionCalculator <T>(insertionCost)) { }