Mercurial > octave
diff scripts/testfun/private/dump_demos.m @ 22126:3f8ed6d7cb1c
Improve plot comparison in sripts/testfun
dump_demos.m: Use ~ instead of ! for matlab compatibility.
Isolate demos in functions.
html_compare_plot_demos.m: Wrap html page after 50 demos per
page, add prevoius and next links per page.
author | Andreas Weber <andy.weber.aw@gmail.com> |
---|---|
date | Sat, 16 Jul 2016 17:49:30 +0200 |
parents | ffad2baa90f7 |
children | 283d8dfcad37 |
line wrap: on
line diff
--- a/scripts/testfun/private/dump_demos.m Fri Jul 15 16:32:13 2016 -0700 +++ b/scripts/testfun/private/dump_demos.m Sat Jul 16 17:49:30 2016 +0200 @@ -116,36 +116,41 @@ idx = sprintf ("%02d", d); base_fn = sprintf ("%s_%s", fcn, idx); fn = sprintf ('%s.%s', base_fn, fmt); - fprintf (fid, "\ntry\n"); + ## Wrap each demo in a function which create a local scope + ## to prevent that a previous demo overwrites i or pi, for example + fprintf (fid, "\nfunction %s ()\n", base_fn); + fprintf (fid, " try\n"); ## First check if the file already exists, skip demo if found - fprintf (fid, " if (! exist ('%s', 'file'))\n", fn); + fprintf (fid, " if (~ exist ('%s', 'file'))\n", fn); ## Invoke the ancient, deprecated random seed generators, but there is an ## initialization mismatch with the more modern generators reported ## here (https://savannah.gnu.org/bugs/?42557). - fprintf (fid, " rand ('seed', 1);\n"); - fprintf (fid, " tic ();\n"); - fprintf (fid, " %s\n\n", demos{d}); - fprintf (fid, " t_plot = toc ();\n"); - fprintf (fid, " fig = (get (0, 'currentfigure'));\n"); - fprintf (fid, " if (~ isempty (fig))\n"); - fprintf (fid, " figure (fig);\n"); - fprintf (fid, " fprintf ('Printing ""%s"" ... ');\n", fn); - fprintf (fid, " tic ();\n"); - fprintf (fid, " print ('-d%s', '%s');\n", fmt, fn); - fprintf (fid, " t_print = toc ();\n"); - fprintf (fid, " fprintf ('[%%f %%f] done\\n',t_plot, t_print);\n"); + fprintf (fid, " rand ('seed', 1);\n"); + fprintf (fid, " tic ();\n"); + fprintf (fid, " %s\n\n", demos{d}); + fprintf (fid, " t_plot = toc ();\n"); + fprintf (fid, " fig = (get (0, 'currentfigure'));\n"); + fprintf (fid, " if (~ isempty (fig))\n"); + fprintf (fid, " figure (fig);\n"); + fprintf (fid, " fprintf ('Printing ""%s"" ... ');\n", fn); + fprintf (fid, " tic ();\n"); + fprintf (fid, " print ('-d%s', '%s');\n", fmt, fn); + fprintf (fid, " t_print = toc ();\n"); + fprintf (fid, " fprintf ('[%%f %%f] done\\n',t_plot, t_print);\n"); + fprintf (fid, " end\n"); + ## Temporary fix for cruft accumulating in figure window. + fprintf (fid, " close ('all');\n"); + fprintf (fid, " else\n"); + fprintf (fid, " fprintf ('File ""%s"" already exists.\\n');\n", fn); + fprintf (fid, " end\n"); + fprintf (fid, " catch\n"); + fprintf (fid, " fprintf ('ERROR in %s: %%s\\n', lasterr ());\n", base_fn); + fprintf (fid, " err_fid = fopen ('%s.err', 'w');\n", base_fn); + fprintf (fid, " fprintf (err_fid, '%%s', lasterr ());\n"); + fprintf (fid, " fclose (err_fid);\n"); fprintf (fid, " end\n"); - ## Temporary fix for cruft accumulating in figure window. - fprintf (fid, " close ('all');\n"); - fprintf (fid, " else\n"); - fprintf (fid, " fprintf ('File ""%s"" already exists.\\n');\n", fn); - fprintf (fid, " end\n"); - fprintf (fid, "catch\n"); - fprintf (fid, " fprintf ('ERROR in %s: %%s\\n', lasterr ());\n", base_fn); - fprintf (fid, " err_fid = fopen ('%s.err', 'w');\n", base_fn); - fprintf (fid, " fprintf (err_fid, '%%s', lasterr ());\n"); - fprintf (fid, " fclose (err_fid);\n"); - fprintf (fid, "end\n\n"); + fprintf (fid, "end\n"); + fprintf (fid, "%s ();\n", base_fn); endfor endfor fprintf (fid, "close all\n");