function accumulator( x ) {
		if ( arguments.length === 0 ) {
			if ( sum === void 0 ) {
				return null;
			}
			return sum / 2.0;
		}
		if ( isnan( x ) ) {
			min = x;
			max = x;
		}
		if ( x > max ) {
			max = x;
		}
		if ( x < min ) {
			min = x;
		}
		sum = max + min;
		return sum / 2.0;
	}
If provided a value, the accumulator function returns an updated mid-range. If not provided a value, the accumulator function returns the current mid-range.

@private
@param {number} [x] - new value
@returns {number} mid-range