"use strict";

var math = exports;

/**
 * Adds a new value to a calculated average.
 *
 * i.e. n × average + value
 *      ------------------- = new average
 *             n + 1
 */
math.addToAverage = function (average, n, value) {
    return (n * average + value) / (n + 1);
};

/**
 * Subtract a value from a calculated average.
 *
 * i.e. n × average - value
 *      ------------------- = new average
 *             n - 1
 */
math.subtractFromAverage = function (average, n, value) {

    if (n < 1) { return 0; }

    return (n * average - value) / (n - 1);
};