#include "Continuous_Average.h"

void Continuous_Average :: init_avg() {
	sample_counter = 0;
	average = 0.0;
}

Continuous_Average :: Continuous_Average() {
	//set_name(NO_NAME);
	init_avg();
}

/*
Continuous_Average :: Continuous_Average(char* name) {
	set_name(name);
	init_avg();
}
*/

void Continuous_Average :: reset() {
	init_avg();
}

float Continuous_Average :: calc_avg(float sample_value) {
	average = (average*sample_counter + sample_value) / (sample_counter + 1);
	sample_counter++;

	return average;
}

float Continuous_Average :: calc_avg(int sample_value) {
	average = (average*sample_counter + (float)sample_value) / (sample_counter + 1);
	sample_counter++;

	return average;
}