diff options
author | Rocky Madden <git@rockymadden.com> | 2013-02-01 21:40:11 -0700 |
---|---|---|
committer | Rocky Madden <git@rockymadden.com> | 2013-02-01 21:40:11 -0700 |
commit | 0427794bf323093f45aef5b82b45a6b181729ffe (patch) | |
tree | 2d6c276c64b739468baa3250f1e3bd81d453314f | |
parent | a759ce9693d87dbe54dc975fa2fb68de0252f21f (diff) | |
download | stringmetric-0427794bf323093f45aef5b82b45a6b181729ffe.tar.gz stringmetric-0427794bf323093f45aef5b82b45a6b181729ffe.tar.bz2 stringmetric-0427794bf323093f45aef5b82b45a6b181729ffe.zip |
Code formatting tweaks.
22 files changed, 56 insertions, 114 deletions
diff --git a/cli/source/core/scala/com/rockymadden/stringmetric/cli/Command.scala b/cli/source/core/scala/com/rockymadden/stringmetric/cli/Command.scala index a7daf3c..fedc0d9 100755 --- a/cli/source/core/scala/com/rockymadden/stringmetric/cli/Command.scala +++ b/cli/source/core/scala/com/rockymadden/stringmetric/cli/Command.scala @@ -12,8 +12,7 @@ trait Command { def execute(options: OptionMap): Unit - final def exit(options: OptionMap): Unit = - if (!isUnitTest(options)) sys.exit(0) + final def exit(options: OptionMap): Unit = if (!isUnitTest(options)) sys.exit(0) final protected[this] def isDebug(options: OptionMap): Boolean = (options.contains('d) || (options.contains('debug) && options.get('debug) != "false")) @@ -22,4 +21,4 @@ trait Command { (options.contains('ut) || (options.contains('unitTest) && options.get('unitTest) != "false")) def main(args: Array[String]): Unit -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiControlOnlyStringFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiControlOnlyStringFilter.scala index 0e4e1f7..912d1d9 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiControlOnlyStringFilter.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiControlOnlyStringFilter.scala @@ -5,9 +5,7 @@ import com.rockymadden.stringmetric.StringFilter /** A decorator [[com.rockymadden.stringmetric.StringFilter]]. Ensures only ASCII control characters matter. */ trait AsciiControlOnlyStringFilter extends StringFilter { abstract override def filter(charArray: Array[Char]): Array[Char] = - super.filter( - charArray.filter(c => (c <= 31 || c == 127)) - ) + super.filter(charArray.filter(c => (c <= 31 || c == 127))) abstract override def filter(string: String): String = filter(string.toCharArray).mkString -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiControlStringFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiControlStringFilter.scala index 2573718..4442a31 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiControlStringFilter.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiControlStringFilter.scala @@ -5,9 +5,7 @@ import com.rockymadden.stringmetric.StringFilter /** A decorator [[com.rockymadden.stringmetric.StringFilter]]. Ensures ASCII controls do not matter. */ trait AsciiControlStringFilter extends StringFilter { abstract override def filter(charArray: Array[Char]): Array[Char] = - super.filter( - charArray.filter(c => !(c <= 31 || c == 127)) - ) + super.filter(charArray.filter(c => !(c <= 31 || c == 127))) abstract override def filter(string: String): String = filter(string.toCharArray).mkString -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterCaseStringFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterCaseStringFilter.scala index 28d6674..88bb542 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterCaseStringFilter.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterCaseStringFilter.scala @@ -5,9 +5,7 @@ import com.rockymadden.stringmetric.StringFilter /** A decorator [[com.rockymadden.stringmetric.StringFilter]]. Ensures ASCII letter case-sensitivity does not matter. */ trait AsciiLetterCaseStringFilter extends StringFilter { abstract override def filter(charArray: Array[Char]): Array[Char] = - super.filter( - charArray.map(c => if (c >= 65 && c <= 90) (c + 32).toChar else c) - ) + super.filter(charArray.map(c => if (c >= 65 && c <= 90) (c + 32).toChar else c)) abstract override def filter(string: String): String = filter(string.toCharArray).mkString -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterOnlyStringFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterOnlyStringFilter.scala index 5fc35da..86c1c77 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterOnlyStringFilter.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterOnlyStringFilter.scala @@ -5,9 +5,7 @@ import com.rockymadden.stringmetric.StringFilter /** A decorator [[com.rockymadden.stringmetric.StringFilter]]. Ensures only ASCII letters matter. */ trait AsciiLetterOnlyStringFilter extends StringFilter { abstract override def filter(charArray: Array[Char]): Array[Char] = - super.filter( - charArray.filter(c => ((c >= 65 && c <= 90 ) || (c >= 97 && c <= 122))) - ) + super.filter(charArray.filter(c => ((c >= 65 && c <= 90 ) || (c >= 97 && c <= 122)))) abstract override def filter(string: String): String = filter(string.toCharArray).mkString -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterStringFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterStringFilter.scala index c78903f..a86d63d 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterStringFilter.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiLetterStringFilter.scala @@ -5,9 +5,7 @@ import com.rockymadden.stringmetric.StringFilter /** A decorator [[com.rockymadden.stringmetric.StringFilter]]. Ensures ASCII letters do not matter. */ trait AsciiLetterStringFilter extends StringFilter { abstract override def filter(charArray: Array[Char]): Array[Char] = - super.filter( - charArray.filter(c => !((c >= 65 && c <= 90 ) || (c >= 97 && c <= 122))) - ) + super.filter(charArray.filter(c => !((c >= 65 && c <= 90 ) || (c >= 97 && c <= 122)))) abstract override def filter(string: String): String = filter(string.toCharArray).mkString -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiNumberOnlyStringFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiNumberOnlyStringFilter.scala index b70537a..74af4e4 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiNumberOnlyStringFilter.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiNumberOnlyStringFilter.scala @@ -5,9 +5,7 @@ import com.rockymadden.stringmetric.StringFilter /** A decorator [[com.rockymadden.stringmetric.StringFilter]]. Ensures only ASCII numbers matter. */ trait AsciiNumberOnlyStringFilter extends StringFilter { abstract override def filter(charArray: Array[Char]): Array[Char] = - super.filter( - charArray.filter(c => (c >= 48 && c <= 57 )) - ) + super.filter(charArray.filter(c => (c >= 48 && c <= 57 ))) abstract override def filter(string: String): String = filter(string.toCharArray).mkString -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiNumberStringFilter.scala b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiNumberStringFilter.scala index 370928e..2a9ae1f 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiNumberStringFilter.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/filter/AsciiNumberStringFilter.scala @@ -5,9 +5,7 @@ import com.rockymadden.stringmetric.StringFilter /** A decorator [[com.rockymadden.stringmetric.StringFilter]]. Ensures ASCII numbers do not matter. */ trait AsciiNumberStringFilter extends StringFilter { abstract override def filter(charArray: Array[Char]): Array[Char] = - super.filter( - charArray.filter(c => !(c >= 48 && c <= 57)) - ) + super.filter(charArray.filter(c => !(c >= 48 && c <= 57))) abstract override def filter(string: String): String = filter(string.toCharArray).mkString -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/MetaphoneMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/MetaphoneMetric.scala index a8c0a77..132fb67 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/MetaphoneMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/MetaphoneMetric.scala @@ -15,15 +15,11 @@ object MetaphoneMetric extends StringMetric with FilterableStringMetric { if (fca1.length == 0 || !(fca1.head is Alpha) || fca2.length == 0 || !(fca2.head is Alpha)) None else MetaphoneAlgorithm.compute(fca1).filter(_.length > 0).flatMap(mp1 => - MetaphoneAlgorithm.compute(fca2).filter(_.length > 0).map(mp1.sameElements(_)) - ) + MetaphoneAlgorithm.compute(fca2).filter(_.length > 0).map(mp1.sameElements(_))) } override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) } diff --git a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/NysiisAlgorithm.scala b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/NysiisAlgorithm.scala index 9fd25ab..8f47bd0 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/NysiisAlgorithm.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/NysiisAlgorithm.scala @@ -17,8 +17,12 @@ object NysiisAlgorithm extends StringAlgorithm with FilterableStringAlgorithm { val tl = transcodeLeft(tr._1) val t = if (tl._2.length == 0) tl._1 ++ tr._2 - else - tl._1 ++ transcodeCenter(Array.empty[Char], tl._2.head, if (tl._2.length > 1) tl._2.tail else Array.empty[Char], Array.empty[Char]) ++ tr._2 + else tl._1 ++ transcodeCenter( + Array.empty[Char], + tl._2.head, + if (tl._2.length > 1) tl._2.tail else Array.empty[Char], + Array.empty[Char] + ) ++ tr._2 if (t.length == 1) Some(t) else Some(t.head +: deduplicate(cleanTerminal(cleanLast(t.tail)))) diff --git a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/NysiisMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/NysiisMetric.scala index 9edaadd..7f1ca3f 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/NysiisMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/NysiisMetric.scala @@ -23,15 +23,11 @@ object NysiisMetric extends StringMetric with FilterableStringMetric { if (fca1.length == 0 || !(fca1.head is Alpha) || fca2.length == 0 || !(fca2.head is Alpha)) None else if (unequal(fca1.head, fca2.head)) Some(false) else NysiisAlgorithm.compute(fca1).filter(_.length > 0).flatMap(ny1 => - NysiisAlgorithm.compute(fca2).filter(_.length > 0).map(ny1.sameElements(_)) - ) + NysiisAlgorithm.compute(fca2).filter(_.length > 0).map(ny1.sameElements(_))) } override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) } diff --git a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/RefinedNysiisMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/RefinedNysiisMetric.scala index 8efa441..8bbf474 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/RefinedNysiisMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/RefinedNysiisMetric.scala @@ -23,15 +23,11 @@ object RefinedNysiisMetric extends StringMetric with FilterableStringMetric { if (fca1.length == 0 || !(fca1.head is Alpha) || fca2.length == 0 || !(fca2.head is Alpha)) None else if (unequal(fca1.head, fca2.head)) Some(false) else RefinedNysiisAlgorithm.compute(fca1).filter(_.length > 0).flatMap(rny1 => - RefinedNysiisAlgorithm.compute(fca2).filter(_.length > 0).map(rny1.sameElements(_)) - ) + RefinedNysiisAlgorithm.compute(fca2).filter(_.length > 0).map(rny1.sameElements(_))) } override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) } diff --git a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/RefinedSoundexMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/RefinedSoundexMetric.scala index b576480..eb203a5 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/RefinedSoundexMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/RefinedSoundexMetric.scala @@ -16,15 +16,11 @@ object RefinedSoundexMetric extends StringMetric with FilterableStringMetric { if (fca1.length == 0 || !(fca1.head is Alpha) || fca2.length == 0 || !(fca2.head is Alpha)) None else if (fca1.head.toLower != fca2.head.toLower) Some(false) else RefinedSoundexAlgorithm.compute(fca1).filter(_.length > 0).flatMap(rse1 => - RefinedSoundexAlgorithm.compute(fca2).filter(_.length > 0).map(rse1.sameElements(_)) - ) + RefinedSoundexAlgorithm.compute(fca2).filter(_.length > 0).map(rse1.sameElements(_))) } override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) } diff --git a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/SoundexMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/SoundexMetric.scala index 694762a..4ead1f5 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/phonetic/SoundexMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/phonetic/SoundexMetric.scala @@ -16,15 +16,11 @@ object SoundexMetric extends StringMetric with FilterableStringMetric { if (fca1.length == 0 || !(fca1.head is Alpha) || fca2.length == 0 || !(fca2.head is Alpha)) None else if (fca1.head.toLower != fca2.head.toLower) Some(false) else SoundexAlgorithm.compute(fca1).filter(_.length > 0).flatMap(se1 => - SoundexAlgorithm.compute(fca2).filter(_.length > 0).map(se1.sameElements(_)) - ) + SoundexAlgorithm.compute(fca2).filter(_.length > 0).map(se1.sameElements(_))) } override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) } diff --git a/core/source/core/scala/com/rockymadden/stringmetric/similarity/DiceSorensenMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/similarity/DiceSorensenMetric.scala index a691a9e..14335ef 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/similarity/DiceSorensenMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/similarity/DiceSorensenMetric.scala @@ -19,23 +19,19 @@ object DiceSorensenMetric extends StringMetric with FilterableConfigurableString if (fca1.length < n || fca2.length < n) None // Because length is less than n, it is not possible to compare. else if (fca1.sameElements(fca2)) Some(1d) - else - NGramAlgorithm.compute(fca1)(n).flatMap { ca1bg => - NGramAlgorithm.compute(fca2)(n).map { ca2bg => - val ms = scoreMatches((ca1bg.map(_.mkString), ca2bg.map(_.mkString))) + else NGramAlgorithm.compute(fca1)(n).flatMap { ca1bg => + NGramAlgorithm.compute(fca2)(n).map { ca2bg => + val ms = scoreMatches((ca1bg.map(_.mkString), ca2bg.map(_.mkString))) - (2d * ms) / (ca1bg.length + ca2bg.length) - } + (2d * ms) / (ca1bg.length + ca2bg.length) } + } } override def compare(string1: String, string2: String)(n: Int) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - )(n: Int) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray))(n: Int) private[this] def scoreMatches(mt: MatchTuple[String]) = mt._1.intersect(mt._2).length -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/similarity/HammingMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/similarity/HammingMetric.scala index 6f6aa61..3cd7ad9 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/similarity/HammingMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/similarity/HammingMetric.scala @@ -20,10 +20,7 @@ object HammingMetric extends StringMetric with FilterableStringMetric { override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) private[this] def hamming(ct: CompareTuple[Char]) = { require(ct._1.length == ct._2.length) @@ -31,4 +28,4 @@ object HammingMetric extends StringMetric with FilterableStringMetric { if (ct._1.length == 0) 0 else ct._1.zip(ct._2).count(t => t._1 != t._2) } -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/similarity/JaroMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/similarity/JaroMetric.scala index 9f4ee3f..d2e5da5 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/similarity/JaroMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/similarity/JaroMetric.scala @@ -35,10 +35,7 @@ object JaroMetric extends StringMetric with FilterableStringMetric { override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) private[this] def `match`(ct: CompareTuple[Char]): MatchTuple[Char] = { lazy val window = math.abs((math.max(ct._1.length, ct._2.length) / 2d).floor.toInt - 1) diff --git a/core/source/core/scala/com/rockymadden/stringmetric/similarity/JaroWinklerMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/similarity/JaroWinklerMetric.scala index 2a270f3..2f5fae9 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/similarity/JaroWinklerMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/similarity/JaroWinklerMetric.scala @@ -32,8 +32,5 @@ object JaroWinklerMetric extends StringMetric with FilterableStringMetric { override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) -}
\ No newline at end of file + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/similarity/LevenshteinMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/similarity/LevenshteinMetric.scala index 338c0f6..53eff53 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/similarity/LevenshteinMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/similarity/LevenshteinMetric.scala @@ -20,15 +20,12 @@ object LevenshteinMetric extends StringMetric with FilterableStringMetric { override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) private[this] def levenshtein(ct: CompareTuple[Char]) = { val m = Array.fill[Int](ct._1.length + 1, ct._2.length + 1)(-1) - def distance(t: Tuple2[Int, Int]): Int = { + def distance(t: (Int, Int)): Int = { t match { case (r, 0) => r case (0, c) => c @@ -53,4 +50,4 @@ object LevenshteinMetric extends StringMetric with FilterableStringMetric { distance(ct._1.length, ct._2.length) } -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/similarity/NGramMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/similarity/NGramMetric.scala index 7c300fd..72e4d4b 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/similarity/NGramMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/similarity/NGramMetric.scala @@ -17,23 +17,19 @@ object NGramMetric extends StringMetric with FilterableConfigurableStringMetric[ if (fca1.length < n || fca2.length < n) None // Because length is less than n, it is not possible to compare. else if (fca1.sameElements(fca2)) Some(1d) - else - NGramAlgorithm.compute(fca1)(n).flatMap { ca1bg => - NGramAlgorithm.compute(fca2)(n).map { ca2bg => - val ms = scoreMatches((ca1bg.map(_.mkString), ca2bg.map(_.mkString))) + else NGramAlgorithm.compute(fca1)(n).flatMap { ca1bg => + NGramAlgorithm.compute(fca2)(n).map { ca2bg => + val ms = scoreMatches((ca1bg.map(_.mkString), ca2bg.map(_.mkString))) - ms.toDouble / math.max(ca1bg.length, ca2bg.length) - } + ms.toDouble / math.max(ca1bg.length, ca2bg.length) } + } } override def compare(string1: String, string2: String)(n: Int) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - )(n) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray))(n) private[this] def scoreMatches(mt: MatchTuple[String]) = mt._1.intersect(mt._2).length -}
\ No newline at end of file +} diff --git a/core/source/core/scala/com/rockymadden/stringmetric/similarity/RatcliffObershelpMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/similarity/RatcliffObershelpMetric.scala index 94e44d0..96e8c39 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/similarity/RatcliffObershelpMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/similarity/RatcliffObershelpMetric.scala @@ -20,10 +20,7 @@ object RatcliffObershelpMetric extends StringMetric with FilterableStringMetric override def compare(string1: String, string2: String) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - ) + compare(stringFilter.filter(string1.toCharArray), stringFilter.filter(string2.toCharArray)) private[this] def longestCommonSubsequence(ct: CompareTuple[Char]) = { val m = Array.ofDim[Int](ct._1.length + 1, ct._2.length + 1) @@ -33,7 +30,6 @@ object RatcliffObershelpMetric extends StringMetric with FilterableStringMetric if (ct._1(r) == ct._2(c)) { val l = m(r)(c) + 1 m(r + 1)(c + 1) = l - if (l > lrc._1) lrc = (l, r + 1, c + 1) } } diff --git a/core/source/core/scala/com/rockymadden/stringmetric/similarity/WeightedLevenshteinMetric.scala b/core/source/core/scala/com/rockymadden/stringmetric/similarity/WeightedLevenshteinMetric.scala index b833330..79060e5 100755 --- a/core/source/core/scala/com/rockymadden/stringmetric/similarity/WeightedLevenshteinMetric.scala +++ b/core/source/core/scala/com/rockymadden/stringmetric/similarity/WeightedLevenshteinMetric.scala @@ -29,10 +29,7 @@ object WeightedLevenshteinMetric override def compare(string1: String, string2: String)(options: Options) (implicit stringFilter: StringFilter): Option[CompareReturn] = - compare( - stringFilter.filter(string1.toCharArray), - stringFilter.filter(string2.toCharArray) - )(options) + compare(stringFilter.filter(string1.toCharArray),stringFilter.filter(string2.toCharArray))(options) private[this] def weightedLevenshtein(ct: CompareTuple[Char], w: Options) = { val m = Array.ofDim[BigDecimal](ct._1.length + 1, ct._2.length + 1) |