public 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 < getThreshold() ? j : j + Math.min(0.1f, 1f / mtp[3]) * mtp[2]* (1 - j);return jw;}

public 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 < getThreshold ( ) ? j : j + Math . min ( 0.1f , 1f / mtp [ 3 ] ) * mtp [ 2 ] * ( 1 - j ) ; return jw ; }
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;}
