TEST_F(HistogramUtilsTest, CommonPrefixLength) { EXPECT_EQ(common_prefix_length("", ""), 0ul); EXPECT_EQ(common_prefix_length("a", ""), 0ul); EXPECT_EQ(common_prefix_length("a", "b"), 0ul); EXPECT_EQ(common_prefix_length("aa", "a"), 1ul); EXPECT_EQ(common_prefix_length("abcd", "abce"), 3ul); }
double winkler(char *s, char *t, int ss, int st) { float dist, pref_length; if (!strcmp(s, t)) return 1.0; dist = jaro(s, t, ss, st); pref_length = common_prefix_length(4, s, t, ss, st); dist = dist + pref_length * 0.1 * (1 - dist); return dist; }