moving_average.cpp

Go to the documentation of this file.
00001 /* $Id$ */
00002 
00003 /*
00004  * This file is part of OpenTTD.
00005  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
00006  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00007  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
00008  */
00009 
00012 #include "moving_average.h"
00013 #include "date_func.h"
00014 #include "station_base.h"
00015 
00022 template <class Titem> void RunAverages()
00023 {
00024   for (uint id = _tick_counter % DAY_TICKS; id < Titem::GetPoolSize(); id += DAY_TICKS) {
00025     Titem *item = Titem::GetIfValid(id);
00026     if (item != NULL) item->RunAverages();
00027   }
00028 }
00029 
00030 template class MovingAverage<uint>;
00031 template void RunAverages<Station>();