src/Generic/porterStemmer/Porter.cpp
/* m(z) measures the number of consonant sequences between 0 and j. if c is
   a consonant sequence and v a vowel sequence, and <..> indicates arbitrary
   presence,

      <c><v>       gives 0
      <c>vc<v>     gives 1
      <c>vcvc<v>   gives 2
      <c>vcvcvc<v> gives 3
      ....
*/
m(z) measures the number of consonant sequences between 0 and j. if c is
a consonant sequence and v a vowel sequence, and <..> indicates arbitrary
presence.


m ( z ) measures the number of consonant sequences between 0 and j . if c is a consonant sequence and v a vowel sequence and < .. > indicates arbitrary presence .
int Porter::m(Porter::stemmer * z)
{  int n = 0;
   int i = 0;
   int j = z->j;
   while(TRUE)
   {  if (i > j) return n;
      if (! cons(z, i)) break; i++;
   }
   i++;
   while(TRUE)
   {  while(TRUE)
      {  if (i > j) return n;
            if (cons(z, i)) break;
            i++;
      }
      i++;
      n++;
      while(TRUE)
      {  if (i > j) return n;
         if (! cons(z, i)) break;
         i++;
      }
      i++;
   }
}
int Porter :: m ( Porter :: stemmer * z ) { int n = 0 ; int i = 0 ; int j = z -> j ; while ( TRUE ) { if ( i > j ) return n ; if ( ! cons ( z , i ) ) break ; i ++ ; } i ++ ; while ( TRUE ) { while ( TRUE ) { if ( i > j ) return n ; if ( cons ( z , i ) ) break ; i ++ ; } i ++ ; n ++ ; while ( TRUE ) { if ( i > j ) return n ; if ( ! cons ( z , i ) ) break ; i ++ ; } i ++ ; } }
m(z) measures the number of consonant sequences between 0 and j. if c is
a consonant sequence and v a vowel sequence, and <..> indicates arbitrary
presence,
m ( z ) measures the number of consonant sequences between 0 and j . if c is a consonant sequence and v a vowel sequence and < .. > indicates arbitrary presence