]> Creatis software - CreaPhase.git/blob - octave_packages/benchmark-1.1.1/benchutil_initialize.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / benchmark-1.1.1 / benchutil_initialize.m
1 % Copyright (C) 2008  Jaroslav Hajek <highegg@gmail.com>
2
3 % This file is part of OctaveForge.
4
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.
9
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.
14
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/>.
18
19
20 % function benchutil_initialize (mfname)
21 % initializes a benchmark. The argument passed must be the filename of the
22 % function.
23 %
24 function benchutil_initialize (mfname)
25   [bench_desc, arg_desc, result_desc] = ...
26     benchutil_parse_desc ([mfname, '.m']);
27   assignin ('caller', 'result_desc', result_desc);
28   if (benchutil_verbose)
29     fprintf (1, 'Running benchmark: %s\n', mfname);
30     fwrite (1, bench_desc);
31     fprintf (1, '\n');
32     argns = fieldnames (arg_desc);
33     for argn = argns'
34       argn = argn{1};
35       argv = evalin ('caller', argn);
36       fprintf (1, '%s (%s) = %g\n', arg_desc.(argn), argn, argv);
37     end
38     if (benchutil_is_octave)
39       fflush (1);
40     end
41   end
42
43
44