X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fbenchmark-1.1.1%2Fbenchutil_average.m;fp=octave_packages%2Fbenchmark-1.1.1%2Fbenchutil_average.m;h=79f4e31ad43b275b23f9105b67e7c056ff00ef70;hp=0000000000000000000000000000000000000000;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/benchmark-1.1.1/benchutil_average.m b/octave_packages/benchmark-1.1.1/benchutil_average.m new file mode 100644 index 0000000..79f4e31 --- /dev/null +++ b/octave_packages/benchmark-1.1.1/benchutil_average.m @@ -0,0 +1,40 @@ +% Copyright (C) 2008 Jaroslav Hajek +% +% This file is part of OctaveForge. +% +% OctaveForge 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; either version 2 of the License, or +% (at your option) any later version. +% +% This program 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. See the +% GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this software; see the file COPYING. If not, see +% . +% + +% function results = benchutil_average (benchmark, nruns, arg1, arg2, ...) +% Average the benchmark results over a certain number of runs. + +function results = benchutil_average (benchmark, nruns, varargin) + bfun = str2func (benchmark); + for i = 1:nruns + resi(i) = bfun (varargin{:}); + end + for f = fieldnames (resi).' + f = f{1}; + results.(f) = mean ([resi.(f)]); + end + + if (benchutil_verbose) + [bdesc, adesc, rdesc] = benchutil_parse_desc ([benchmark, '.m']); + printf ('\n\n'); + for [desc, fn] = rdesc + printf ('%s (avg. over %d runs): %f\n', desc, nruns, results.(fn)); + endfor + endif +