nodes: 0, module; 1, function_definition; 2, function_name:strictly_monotonic; 3, parameters; 4, block; 5, identifier:bb; 6, expression_statement; 7, expression_statement; 8, expression_statement; 9, expression_statement; 10, comment:# subsequent equal entries have 0 in db; 11, expression_statement; 12, comment:# the first element is always unique (the second occurence is the dublicate); 13, expression_statement; 14, return_statement; 15, string; 16, assignment; 17, call; 18, assignment; 19, assignment; 20, assignment; 21, call; 22, string_content:bb is an index array which may have numerous double or triple
      occurrences of indices, such as for example the decay_index_pointer.
      This method removes all entries <= -, then all dublicates and
      finally returns a sorted list of indices.; 23, identifier:cc; 24, subscript; 25, attribute; 26, argument_list; 27, identifier:dc; 28, binary_operator:cc[1:]-cc[:-1]; 29, identifier:dc; 30, call; 31, identifier:dc_mask; 32, call; 33, attribute; 34, argument_list; 35, identifier:bb; 36, call; 37, identifier:cc; 38, identifier:sort; 39, subscript; 40, subscript; 41, attribute; 42, argument_list; 43, attribute; 44, argument_list; 45, call; 46, identifier:compressed; 47, attribute; 48, argument_list; 49, identifier:cc; 50, slice; 51, identifier:cc; 52, slice; 53, identifier:np; 54, identifier:insert; 55, identifier:dc; 56, integer:0; 57, integer:1; 58, attribute; 59, identifier:masked_equal; 60, identifier:dc; 61, integer:0; 62, attribute; 63, argument_list; 64, identifier:np; 65, identifier:where; 66, comparison_operator:bb>=0; 67, integer:1; 68, unary_operator; 69, identifier:np; 70, identifier:ma; 71, attribute; 72, identifier:array; 73, identifier:cc; 74, keyword_argument; 75, identifier:bb; 76, integer:0; 77, integer:1; 78, identifier:np; 79, identifier:ma; 80, identifier:mask; 81, attribute; 82, identifier:dc_mask; 83, identifier:mask
code: def strictly_monotonic(bb):
      '''
      bb is an index array which may have numerous double or triple
      occurrences of indices, such as for example the decay_index_pointer.
      This method removes all entries <= -, then all dublicates and
      finally returns a sorted list of indices.
  
      '''
      cc=bb[np.where(bb>=0)]
      cc.sort()
      dc=cc[1:]-cc[:-1] # subsequent equal entries have 0 in db
      dc=np.insert(dc,0,1) # the first element is always unique (the second occurence is the dublicate)
      dc_mask=np.ma.masked_equal(dc,0)
      return np.ma.array(cc,mask=dc_mask.mask).compressed()