docs: public static final int pwr2LawPrev(final int ppo, final int curPoint) {
      if (curPoint <= 1) { return 0; }
      int gi = (int)round(log2(curPoint) * ppo); //current generating index
      int prev;
      do {
        prev = (int)round(pow(2.0, (double) --gi / ppo));
      } while (prev >= curPoint);
      return prev;
    }