java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/DoubleRLBE.java [128:150]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  protected long calcFibonacci(long val) {
    // fibonacci values are stored in Fib
    long[] fib = new long[blockSize * 2 + 1];
    fib[0] = 1;
    fib[1] = 1;
    int i;
    // generate fibonacci values from 1 to the first one larger than val
    for (i = 2; fib[i - 1] <= val; i++) {
      fib[i] = fib[i - 1] + fib[i - 2];
    }

    i--;
    long valfib = 0;
    // calculate fibonacci code
    while (val > 0) {
      while (fib[i] > val && i >= 1) {
        i--;
      }
      valfib |= (1 << (i - 1));
      val -= fib[i];
    }
    return valfib;
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



java/tsfile/src/main/java/org/apache/tsfile/encoding/encoder/LongRLBE.java [111:133]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  protected long calcFibonacci(long val) {
    // fibonacci values are stored in Fib
    long[] fib = new long[blockSize * 2 + 1];
    fib[0] = 1;
    fib[1] = 1;
    int i;
    // generate fibonacci values from 1 to the first one larger than val
    for (i = 2; fib[i - 1] <= val; i++) {
      fib[i] = fib[i - 1] + fib[i - 2];
    }

    i--;
    long valfib = 0;
    // calculate fibonacci code
    while (val > 0) {
      while (fib[i] > val && i >= 1) {
        i--;
      }
      valfib |= (1 << (i - 1));
      val -= fib[i];
    }
    return valfib;
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



