private static int Rule21()

in src/Lucene.Net.Analysis.Common/Analysis/El/GreekStemmer.cs [858:975]


        private static int Rule21(char[] s, int len) // LUCENENET: CA1822: Mark members as static
        {
            if (len > 9 && EndsWith(s, len, "ιοντουσαν"))
            {
                return len - 9;
            }

            if (len > 8 && (EndsWith(s, len, "ιομασταν") ||
                EndsWith(s, len, "ιοσασταν") ||
                EndsWith(s, len, "ιουμαστε") ||
                EndsWith(s, len, "οντουσαν")))
            {
                return len - 8;
            }

            if (len > 7 && (EndsWith(s, len, "ιεμαστε") ||
                EndsWith(s, len, "ιεσαστε") ||
                EndsWith(s, len, "ιομουνα") ||
                EndsWith(s, len, "ιοσαστε") ||
                EndsWith(s, len, "ιοσουνα") ||
                EndsWith(s, len, "ιουνται") ||
                EndsWith(s, len, "ιουνταν") ||
                EndsWith(s, len, "ηθηκατε") ||
                EndsWith(s, len, "ομασταν") ||
                EndsWith(s, len, "οσασταν") ||
                EndsWith(s, len, "ουμαστε")))
            {
                return len - 7;
            }

            if (len > 6 && (EndsWith(s, len, "ιομουν") ||
                EndsWith(s, len, "ιονταν") ||
                EndsWith(s, len, "ιοσουν") ||
                EndsWith(s, len, "ηθειτε") ||
                EndsWith(s, len, "ηθηκαν") ||
                EndsWith(s, len, "ομουνα") ||
                EndsWith(s, len, "οσαστε") ||
                EndsWith(s, len, "οσουνα") ||
                EndsWith(s, len, "ουνται") ||
                EndsWith(s, len, "ουνταν") ||
                EndsWith(s, len, "ουσατε")))
            {
                return len - 6;
            }

            if (len > 5 && (EndsWith(s, len, "αγατε") ||
                EndsWith(s, len, "ιεμαι") ||
                EndsWith(s, len, "ιεται") ||
                EndsWith(s, len, "ιεσαι") ||
                EndsWith(s, len, "ιοταν") ||
                EndsWith(s, len, "ιουμα") ||
                EndsWith(s, len, "ηθεισ") ||
                EndsWith(s, len, "ηθουν") ||
                EndsWith(s, len, "ηκατε") ||
                EndsWith(s, len, "ησατε") ||
                EndsWith(s, len, "ησουν") ||
                EndsWith(s, len, "ομουν") ||
                EndsWith(s, len, "ονται") ||
                EndsWith(s, len, "ονταν") ||
                EndsWith(s, len, "οσουν") ||
                EndsWith(s, len, "ουμαι") ||
                EndsWith(s, len, "ουσαν")))
            {
                return len - 5;
            }

            if (len > 4 && (EndsWith(s, len, "αγαν") ||
                EndsWith(s, len, "αμαι") ||
                EndsWith(s, len, "ασαι") ||
                EndsWith(s, len, "αται") ||
                EndsWith(s, len, "ειτε") ||
                EndsWith(s, len, "εσαι") ||
                EndsWith(s, len, "εται") ||
                EndsWith(s, len, "ηδεσ") ||
                EndsWith(s, len, "ηδων") ||
                EndsWith(s, len, "ηθει") ||
                EndsWith(s, len, "ηκαν") ||
                EndsWith(s, len, "ησαν") ||
                EndsWith(s, len, "ησει") ||
                EndsWith(s, len, "ησεσ") ||
                EndsWith(s, len, "ομαι") ||
                EndsWith(s, len, "οταν")))
            {
                return len - 4;
            }

            if (len > 3 && (EndsWith(s, len, "αει") ||
                EndsWith(s, len, "εισ") ||
                EndsWith(s, len, "ηθω") ||
                EndsWith(s, len, "ησω") ||
                EndsWith(s, len, "ουν") ||
                EndsWith(s, len, "ουσ")))
            {
                return len - 3;
            }

            if (len > 2 && (EndsWith(s, len, "αν") ||
                EndsWith(s, len, "ασ") ||
                EndsWith(s, len, "αω") ||
                EndsWith(s, len, "ει") ||
                EndsWith(s, len, "εσ") ||
                EndsWith(s, len, "ησ") ||
                EndsWith(s, len, "οι") ||
                EndsWith(s, len, "οσ") ||
                EndsWith(s, len, "ου") ||
                EndsWith(s, len, "υσ") ||
                EndsWith(s, len, "ων")))
            {
                return len - 2;
            }

            if (len > 1 && EndsWithVowel(s, len))
            {
                return len - 1;
            }

            return len;
        }