Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.thaiopensource.relaxng.impl;
 
 
 final class PatternInterner {
   private static final int INIT_SIZE = 256;
   private static final float LOAD_FACTOR = 0.3f;
   private Pattern[] table;
   private int used;
   private int usedLimit;
     = null;
     = 0;
     = 0;
  }
     = parent.table;
    if ( != null)
       = (Pattern[]).clone();
     = parent.used;
     = parent.usedLimit;
  }
    int h;
    if ( == null) {
       = new Pattern[];
       = (int)( * );
      h = firstIndex(p);
    }
    else {
      for (h = firstIndex(p); [h] != nullh = nextIndex(h)) {
	if (p.samePattern([h]))
	  return [h];
      }
    }
    if ( >= ) {
      // rehash
      Pattern[] oldTable = ;
       = new Pattern[. << 1];
      for (int i = oldTable.lengthi > 0;) {
	--i;
	if (oldTable[i] != null) {
	  int j;
	  for (j = firstIndex(oldTable[i]); [j] != nullj = nextIndex(j))
	    ;
	  [j] = oldTable[i];
	}
      }
      for (h = firstIndex(p); [h] != nullh = nextIndex(h))
	;
       = (int)(. * );
    }
    ++;
    [h] = p;
    return p;
  }
  private int firstIndex(Pattern p) {
    return p.patternHashCode() & (. - 1);
  }
  private int nextIndex(int i) {
    return i == 0 ? . - 1 : i - 1;
  }
New to GrepCode? Check out our FAQ X