class_docstr: Class contains implementation of Porter stemming algorithm.
  
  Attributes
  --------
  b : str
      Buffer holding a word to be stemmed. The letters are in b[0], b[1] ... ending at b[`k`].
  k : int
      Readjusted downwards as the stemming progresses.
  j : int
      Word length.
class_docstr_tok: ["Class","contains","implementation","of","Porter","stemming","algorithm",".","Attributes","--","--","--","--","b",":","str","Buffer","holding","a","word","to","be","stemmed",".","The","letters","are","in","b","[","0","]",",","b","[","1","]","...","ending","at","b","[","`","k","`","]",".","k",":","int","Readjusted","downwards","as","the","stemming","progresses",".","j",":","int","Word","length","."]
docstr: Calculate 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
  
  Returns
  -------
  int
      The number of consonant sequences between 0 and j.
  
  Examples
  --------
  .. sourcecode:: pycon
  
      >>> from gensim.parsing.porter import PorterStemmer
      >>> p = PorterStemmer()
      >>> p.b = "<bm>aobm<ao>"
      >>> p.j = 11
      >>> p._m()
      2
docstr_tok: ["Calculate","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","Returns","--","--","--","-","int","The","number","of","consonant","sequences","between","0","and","j",".","Examples","--","--","--","--","..","sourcecode",":",":","pycon",">",">",">","from","gensim.parsing.porter","import","PorterStemmer",">",">",">","p","=","PorterStemmer","(",")",">",">",">","p.b","=","``","<","bm",">","aobm","<","ao",">","''",">",">",">","p.j","=","11",">",">",">","p._m","(",")","2"]
code: def _m(self):
      """Calculate 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
  
      Returns
      -------
      int
          The number of consonant sequences between 0 and j.
  
      Examples
      --------
      .. sourcecode:: pycon
  
          >>> from gensim.parsing.porter import PorterStemmer
          >>> p = PorterStemmer()
          >>> p.b = "<bm>aobm<ao>"
          >>> p.j = 11
          >>> p._m()
          2
  
      """
      i = 0
      while True:
          if i > self.j:
              return 0
          if not self._cons(i):
              break
          i += 1
      i += 1
      n = 0
      while True:
          while True:
              if i > self.j:
                  return n
              if self._cons(i):
                  break
              i += 1
          i += 1
          n += 1
          while 1:
              if i > self.j:
                  return n
              if not self._cons(i):
                  break
              i += 1
          i += 1
  
file_path: gensim/gensim/parsing/porter.py
label_desc: Use image node_id 3 for calling the PorterStemmer obj's underlying member method code with example usage: obj._m() and returns: int, n, n