home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / Extras / OSpace / jgl.exe / jgl_2_0 / COM / objectspace / jgl / Hashing.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-12  |  1.1 KB  |  47 lines

  1. package COM.objectspace.jgl;
  2.  
  3. public final class Hashing {
  4.    static final int HASH_SIZE = 16;
  5.  
  6.    public static int orderedHash(Container var0) {
  7.       return orderedHash(var0.start(), var0.finish());
  8.    }
  9.  
  10.    public static int orderedHash(ForwardIterator var0, ForwardIterator var1) {
  11.       int var2 = 0;
  12.       int var3 = var0.distance(var1);
  13.       int var4 = 0;
  14.       int var5 = 1;
  15.       if (var3 >= 16) {
  16.          var5 = var3 / 16;
  17.          var0.advance(var3 % 16);
  18.       }
  19.  
  20.       while(!var0.equals(var1)) {
  21.          if (var0.get() != null) {
  22.             var2 ^= var0.get().hashCode() / (var4 % 16 + 1);
  23.          }
  24.  
  25.          ++var4;
  26.          var0.advance(var5);
  27.       }
  28.  
  29.       return var2;
  30.    }
  31.  
  32.    public static int unorderedHash(Container var0) {
  33.       return unorderedHash(var0.start(), var0.finish());
  34.    }
  35.  
  36.    public static int unorderedHash(ForwardIterator var0, ForwardIterator var1) {
  37.       int var2;
  38.       for(var2 = 0; !var0.equals(var1); var0.advance()) {
  39.          if (var0.get() != null) {
  40.             var2 ^= var0.get().hashCode();
  41.          }
  42.       }
  43.  
  44.       return var2;
  45.    }
  46. }
  47.