docs: private static int mergeSameBuckets(double[] values, double[] weights, int nextIndex)
      {
          sort(values, weights, nextIndex);
  
          int current = 0;
          for (int i = 1; i < nextIndex; i++) {
              if (values[current] == values[i]) {
                  weights[current] += weights[i];
              }
              else {
                  current++;
                  values[current] = values[i];
                  weights[current] = weights[i];
              }
          }
          return current + 1;
      }