@Override
    public double d(String a, String b) {
        if (weight != null)
            return weightedEdit(a, b);
        else if (FKP == null || a.length() == 1 || b.length() == 1)
            return damerau ? damerau(a, b) : levenshtein(a, b);
        else
            return br(a, b);
    }
@Test
    public void testLevenshteinSpeedTest() {
        System.out.println("Advanced Levenshtein speed test");
        EditDistance edit = new EditDistance(Math.max(H1N1.length(), H1N5.length()));
        for (int i = 0; i < 100; i++) {
            edit.d(H1N1, H1N5);
        }
    }