docs: private synchronized void precomputeLogs(int len) {
      if(len <= ilogs.length) {
        return; // Probably done by another thread.
      }
      double[] logs = Arrays.copyOf(ilogs, len);
      for(int i = ilogs.length; i < len; i++) {
        logs[i] = FastMath.log1p(i);
      }
      this.ilogs = logs;
    }