code: public void add(double value) {
      if (count == 0) {
        count = 1;
        mean = value;
        min = value;
        max = value;
        if (!isFinite(value)) {
          sumOfSquaresOfDeltas = NaN;
        }
      } else {
        count++;
        if (isFinite(value) && isFinite(mean)) {
          // Art of Computer Programming vol. 2, Knuth, 4.2.2, (15) and (16)
          double delta = value - mean;
          mean += delta / count;
          sumOfSquaresOfDeltas += delta * (value - mean);
        } else {
          mean = calculateNewMeanNonFinite(mean, value);
          sumOfSquaresOfDeltas = NaN;
        }
        min = Math.min(min, value);
        max = Math.max(max, value);
      }
    }
docs: Adds the given value to the dataset.