Skip to content

Instantly share code, notes, and snippets.

@eliOcs
Created March 8, 2013 15:04
Show Gist options
  • Save eliOcs/5117025 to your computer and use it in GitHub Desktop.
Save eliOcs/5117025 to your computer and use it in GitHub Desktop.
Calculating averages iteratively
"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);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment