1 % Copyright (C) 2008 Jaroslav Hajek <highegg@gmail.com>
3 % This file is part of OctaveForge.
5 % OctaveForge is free software; you can redistribute it and/or modify
6 % it under the terms of the GNU General Public License as published by
7 % the Free Software Foundation; either version 2 of the License, or
8 % (at your option) any later version.
10 % This program is distributed in the hope that it will be useful,
11 % but WITHOUT ANY WARRANTY; without even the implied warranty of
12 % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 % GNU General Public License for more details.
15 % You should have received a copy of the GNU General Public License
16 % along with this software; see the file COPYING. If not, see
17 % <http://www.gnu.org/licenses/>.
20 % function results = benchutil_average (benchmark, nruns, arg1, arg2, ...)
21 % Average the benchmark results over a certain number of runs.
23 function results = benchutil_average (benchmark, nruns, varargin)
24 bfun = str2func (benchmark);
26 resi(i) = bfun (varargin{:});
28 for f = fieldnames (resi).'
30 results.(f) = mean ([resi.(f)]);
33 if (benchutil_verbose)
34 [bdesc, adesc, rdesc] = benchutil_parse_desc ([benchmark, '.m']);
36 for [desc, fn] = rdesc
37 printf ('%s (avg. over %d runs): %f\n', desc, nruns, results.(fn));