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");