indelNormalizedSimilarity function
Calculates normalized similarity using the indel distance This is a key component of the original RapidFuzz implementation
Implementation
double indelNormalizedSimilarity(
String s1,
String s2, {
double scoreCutoff = 0.0,
}) {
if (s1 == s2) return 1.0;
if (s1.isEmpty && s2.isEmpty) return 1.0;
if (s1.isEmpty || s2.isEmpty) return 0.0;
final dist = indelDistance(s1, s2);
final maxDistance = s1.length + s2.length;
final normDist = dist / maxDistance;
final similarity = 1.0 - normDist;
return (similarity >= scoreCutoff) ? similarity : 0.0;
}