code: public static final int pwr2LawNext(final int ppo, final int curPoint) {
      final int cur = (curPoint < 1) ? 1 : curPoint;
      int gi = (int)round(log2(cur) * ppo); //current generating index
      int next;
      do {
        next = (int)round(pow(2.0, (double) ++gi / ppo));
      } while ( next <= curPoint);
      return next;
    }
docs: Computes the next larger integer point in the power series
  <i>point = 2<sup>( i / ppo )</sup></i> given the current point in the series.
  For illustration, this can be used in a loop as follows:
  
  <pre>{@code
  int maxP = 1024;
  int minP = 1;
  int ppo = 2;
  
  for (int p = minP; p <= maxP; p = pwr2LawNext(ppo, p)) {
  System.out.print(p + " ");
  }
  //generates the following series:
  //1 2 3 4 6 8 11 16 23 32 45 64 91 128 181 256 362 512 724 1024
  }</pre>
  
  @param ppo Points-Per-Octave, or the number of points per integer powers of 2 in the series.
  @param curPoint the current point of the series. Must be &ge; 1.
  @return the next point in the power series.