public static int findFirstSmaller()

in uforwarder-core/src/main/java/com/uber/data/kafka/datatransfer/controller/autoscalar/ScalePredictionUtils.java [100:122]


  public static int findFirstSmaller(double[] arr, double target) {
    if (arr == null || arr.length == 0) {
      return -1;
    }

    int low = 0;
    int high = arr.length - 1;
    while (low < high - 1) {
      int mid = low + (high - low) / 2;
      if (arr[mid] < target) {
        high = mid;
      } else {
        low = mid + 1;
      }
    }
    if (arr[low] < target) {
      return low;
    } else if (arr[high] < target) {
      return high;
    } else {
      return -1;
    }
  }