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 / Counting.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-03-12  |  3.5 KB  |  100 lines

  1. package COM.objectspace.jgl;
  2.  
  3. public final class Counting {
  4.    private Counting() {
  5.    }
  6.  
  7.    public static int count(InputIterator var0, InputIterator var1, Object var2) {
  8.       InputIterator var3 = (InputIterator)var0.clone();
  9.       int var4 = 0;
  10.  
  11.       while(!var3.equals(var1)) {
  12.          if (var3.nextElement().equals(var2)) {
  13.             ++var4;
  14.          }
  15.       }
  16.  
  17.       return var4;
  18.    }
  19.  
  20.    public static int count(Container var0, Object var1) {
  21.       return count(var0.start(), var0.finish(), var1);
  22.    }
  23.  
  24.    public static int countIf(InputIterator var0, InputIterator var1, UnaryPredicate var2) {
  25.       InputIterator var3 = (InputIterator)var0.clone();
  26.       int var4 = 0;
  27.  
  28.       while(!var3.equals(var1)) {
  29.          if (var2.execute(var3.nextElement())) {
  30.             ++var4;
  31.          }
  32.       }
  33.  
  34.       return var4;
  35.    }
  36.  
  37.    public static int countIf(Container var0, UnaryPredicate var1) {
  38.       return countIf(var0.start(), var0.finish(), var1);
  39.    }
  40.  
  41.    public static Number accumulate(InputIterator var0, InputIterator var1, Number var2) {
  42.       return accumulate(var0, var1, var2, new PlusNumber(var2.getClass()));
  43.    }
  44.  
  45.    public static Number accumulate(Container var0, Number var1) {
  46.       return accumulate(var0.start(), var0.finish(), var1, new PlusNumber(var1.getClass()));
  47.    }
  48.  
  49.    public static Number accumulate(InputIterator var0, InputIterator var1, Number var2, BinaryFunction var3) {
  50.       for(InputIterator var4 = (InputIterator)var0.clone(); !var4.equals(var1); var2 = (Number)var3.execute(var2, var4.nextElement())) {
  51.       }
  52.  
  53.       return var2;
  54.    }
  55.  
  56.    public static Number accumulate(Container var0, Number var1, BinaryFunction var2) {
  57.       return accumulate(var0.start(), var0.finish(), var1, var2);
  58.    }
  59.  
  60.    public static OutputIterator adjacentDifference(InputIterator var0, InputIterator var1, OutputIterator var2) {
  61.       return adjacentDifference(var0, var1, var2, new MinusNumber());
  62.    }
  63.  
  64.    public static OutputIterator adjacentDifference(Container var0, OutputIterator var1) {
  65.       return adjacentDifference(var0.start(), var0.finish(), var1, new MinusNumber());
  66.    }
  67.  
  68.    public static OutputIterator adjacentDifference(Container var0, Container var1) {
  69.       return adjacentDifference(var0.start(), var0.finish(), new InsertIterator(var1), new MinusNumber());
  70.    }
  71.  
  72.    public static OutputIterator adjacentDifference(InputIterator var0, InputIterator var1, OutputIterator var2, BinaryFunction var3) {
  73.       OutputIterator var4 = (OutputIterator)var2.clone();
  74.       if (var0.equals(var1)) {
  75.          return var4;
  76.       } else {
  77.          InputIterator var5 = (InputIterator)var0.clone();
  78.          var4.put(var5.get());
  79.          var4.advance();
  80.  
  81.          Object var7;
  82.          for(Object var6 = var5.nextElement(); !var5.equals(var1); var6 = var7) {
  83.             var7 = var5.nextElement();
  84.             var4.put(var3.execute(var7, var6));
  85.             var4.advance();
  86.          }
  87.  
  88.          return var4;
  89.       }
  90.    }
  91.  
  92.    public static OutputIterator adjacentDifference(Container var0, OutputIterator var1, BinaryFunction var2) {
  93.       return adjacentDifference(var0.start(), var0.finish(), var1, var2);
  94.    }
  95.  
  96.    public static OutputIterator adjacentDifference(Container var0, Container var1, BinaryFunction var2) {
  97.       return adjacentDifference(var0.start(), var0.finish(), new InsertIterator(var1), var2);
  98.    }
  99. }
  100.