/////////////////////////////////////////////////////////////////////////
//
// technicalAnalysis.js
//
// Copyright (c) 2008 Richard L. Lynch <rich@richlynch.com>
// All Rights Reserved.
//
// Not For Redistribution.
//
// $Id$
//
/////////////////////////////////////////////////////////////////////////

function simpleMovingAverage(p, w)
{
	var ret = [];
	var sum = 0;
	var sum_count = 0;
	
	if (w < 1)
	{
		w = 1;
	}

	if (w == 1)
	{
		return p;
	}

	for (i = 0; i < p.length && i < w; i++)
	{
		sum += p[i];
		sum_count++;
		
		ret.push(sum / sum_count);
	}

	for (i = w; i < p.length; i++)
	{
		sum -= p[i - w];
		sum += p[i];
		
		ret.push(sum / sum_count);
	}
	
	return ret;
}


