aboutsummaryrefslogtreecommitdiffstats
path: root/math/gnuplot+/files/patch-xd
diff options
context:
space:
mode:
Diffstat (limited to 'math/gnuplot+/files/patch-xd')
-rw-r--r--math/gnuplot+/files/patch-xd103
1 files changed, 103 insertions, 0 deletions
diff --git a/math/gnuplot+/files/patch-xd b/math/gnuplot+/files/patch-xd
new file mode 100644
index 000000000000..66e3bd279783
--- /dev/null
+++ b/math/gnuplot+/files/patch-xd
@@ -0,0 +1,103 @@
+# table-format.2
+--- plot2d.c.ORIG Mon Oct 11 13:18:56 1999
++++ plot2d.c Thu Nov 18 19:13:48 1999
+@@ -718,12 +718,22 @@
+ int plot_num;
+ {
+ int i, curve;
++ char *table_format = NULL;
++
++ /* The data format is determined by the format of the axis labels.
++ * See 'set format'. Patch by Don Taber
++ */
++ table_format = gp_alloc(strlen(xformat)+strlen(yformat)+5, "table format");
++ strcpy(table_format, xformat);
++ strcat(table_format, " ");
++ strcat(table_format, yformat);
++ strcat(table_format, " %c\n");
+
+ for (curve = 0; curve < plot_num;
+ curve++, this_plot = this_plot->next_cp) {
+ fprintf(gpoutfile, "#Curve %d, %d points\n#x y type\n", curve, this_plot->p_count);
+ for (i = 0; i < this_plot->p_count; i++) {
+- fprintf(gpoutfile, "%g %g %c\n",
++ fprintf(gpoutfile, table_format,
+ this_plot->points[i].x,
+ this_plot->points[i].y,
+ this_plot->points[i].type == INRANGE ? 'i'
+@@ -732,9 +742,12 @@
+ }
+ fputc('\n', gpoutfile);
+ }
+-/* two blank lines between plots in table output */
++
++ /* two blank lines between plots in table output */
+ fputc('\n', gpoutfile);
+ fflush(gpoutfile);
++
++ free(table_format);
+ }
+
+ /*
+--- plot3d.c.ORIG Thu Dec 10 18:30:52 1998
++++ plot3d.c Thu Nov 18 19:12:01 1999
+@@ -694,6 +694,17 @@
+ int i, curve, surface;
+ struct iso_curve *icrvs;
+ struct coordinate GPHUGE *points;
++ char *table_format = NULL;
++ char *pcat;
++
++ table_format = gp_alloc(strlen(xformat)+strlen(yformat)+strlen(zformat)+6,
++ "table format");
++ strcpy(table_format, xformat);
++ strcat(table_format, " ");
++ strcat(table_format, yformat);
++ strcat(table_format, " ");
++ strcat(table_format, zformat);
++ pcat = &table_format[strlen(table_format)];
+
+ for (surface = 0, this_plot = first_3dplot; surface < pcount;
+ this_plot = this_plot->next_sp, surface++) {
+@@ -702,12 +713,13 @@
+ curve = 0;
+
+ if (draw_surface) {
++ strcpy(pcat," %c\n");
+ /* only the curves in one direction */
+ while (icrvs && curve < this_plot->num_iso_read) {
+ fprintf(gpoutfile, "\n#IsoCurve %d, %d points\n#x y z type\n",
+ curve, icrvs->p_count);
+ for (i = 0, points = icrvs->points; i < icrvs->p_count; i++) {
+- fprintf(gpoutfile, "%g %g %g %c\n",
++ fprintf(gpoutfile, table_format,
+ points[i].x,
+ points[i].y,
+ points[i].z,
+@@ -723,6 +735,7 @@
+ if (draw_contour) {
+ int number = 0;
+ struct gnuplot_contours *c = this_plot->contours;
++ strcpy(pcat,"\n");
+ while (c) {
+ int count = c->num_pts;
+ struct coordinate GPHUGE *p = c->coords;
+@@ -732,7 +745,8 @@
+ /* double blank line to allow plot ... index ... */
+ fprintf(gpoutfile, "\n# Contour %d, label: %s\n", number++, c->label);
+ for (; --count >= 0; ++p)
+- fprintf(gpoutfile, "%g %g %g\n", p->x, p->y, p->z);
++ fprintf(gpoutfile, table_format, p->x, p->y, p->z);
++
+ /* blank line between segments of same contour */
+ putc('\n', gpoutfile);
+ c = c->next;
+@@ -740,6 +754,8 @@
+ }
+ }
+ fflush(gpoutfile);
++
++ free(table_format);
+ }
+
+