text: public virtual float GetDistance(string s1, string s2){int[] mtp = Matches(s1, s2);float m = mtp[0];if (m == 0){return 0f;}float j = ((m / s1.Length + m / s2.Length + (m - mtp[1]) / m)) / 3;float jw = j < Threshold ? j : j + Math.Min(0.1f, 1f / mtp[3]) * mtp[2] * (1 - j);return jw;}