remove the remains of the old xgraph program
that has not been supported for many years
This commit is contained in:
parent
f5fa14b390
commit
e595347819
|
|
@ -69,8 +69,6 @@ libfte_la_SOURCES = \
|
||||||
com_sysinfo.c \
|
com_sysinfo.c \
|
||||||
com_unset.c \
|
com_unset.c \
|
||||||
com_unset.h \
|
com_unset.h \
|
||||||
com_xgraph.c \
|
|
||||||
com_xgraph.h \
|
|
||||||
completion.h \
|
completion.h \
|
||||||
control.h \
|
control.h \
|
||||||
control.c \
|
control.c \
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,6 @@
|
||||||
#include "com_let.h"
|
#include "com_let.h"
|
||||||
#include "com_plot.h"
|
#include "com_plot.h"
|
||||||
#include "com_setscale.h"
|
#include "com_setscale.h"
|
||||||
#include "com_xgraph.h"
|
|
||||||
#include "com_gnuplot.h"
|
#include "com_gnuplot.h"
|
||||||
#include "com_state.h"
|
#include "com_state.h"
|
||||||
#include "com_chdir.h"
|
#include "com_chdir.h"
|
||||||
|
|
@ -205,10 +204,6 @@ struct comm spcp_coms[] = {
|
||||||
{ 040000, 040000, 040000, 040000 }, E_DEFHMASK, 1, LOTS,
|
{ 040000, 040000, 040000, 040000 }, E_DEFHMASK, 1, LOTS,
|
||||||
NULL,
|
NULL,
|
||||||
"varname ... : Perform matrix transposition on multi-D vectors." } ,
|
"varname ... : Perform matrix transposition on multi-D vectors." } ,
|
||||||
{ "xgraph", com_xgraph, FALSE, TRUE,
|
|
||||||
{ 1, 041000, 041000, 041000 }, E_DEFHMASK, 1, LOTS,
|
|
||||||
NULL,
|
|
||||||
"file plotargs : Send plot to Xgraph-11." } ,
|
|
||||||
{ "gnuplot", com_gnuplot, FALSE, TRUE,
|
{ "gnuplot", com_gnuplot, FALSE, TRUE,
|
||||||
{ 1, 041000, 041000, 041000 }, E_DEFHMASK, 2, LOTS,
|
{ 1, 041000, 041000, 041000 }, E_DEFHMASK, 2, LOTS,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
@ -689,10 +684,6 @@ struct comm nutcp_coms[] = {
|
||||||
{ 040000, 040000, 040000, 040000 }, E_DEFHMASK, 1, LOTS,
|
{ 040000, 040000, 040000, 040000 }, E_DEFHMASK, 1, LOTS,
|
||||||
NULL,
|
NULL,
|
||||||
"varname ... : Perform matrix transposition on multi-D vectors." } ,
|
"varname ... : Perform matrix transposition on multi-D vectors." } ,
|
||||||
{ "xgraph", com_xgraph, FALSE, TRUE,
|
|
||||||
{ 1, 041000, 041000, 041000 }, E_DEFHMASK, 1, LOTS,
|
|
||||||
NULL,
|
|
||||||
"file plotargs : Send plot to Xgraph-11." } ,
|
|
||||||
{ "gnuplot", com_gnuplot, FALSE, TRUE,
|
{ "gnuplot", com_gnuplot, FALSE, TRUE,
|
||||||
{ 1, 041000, 041000, 041000 }, E_DEFHMASK, 2, LOTS,
|
{ 1, 041000, 041000, 041000 }, E_DEFHMASK, 2, LOTS,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,8 @@ libplotting_la_SOURCES = \
|
||||||
if !NO_X
|
if !NO_X
|
||||||
libplotting_la_SOURCES += \
|
libplotting_la_SOURCES += \
|
||||||
x11.c \
|
x11.c \
|
||||||
x11.h \
|
x11.h
|
||||||
xgraph.c \
|
|
||||||
xgraph.h
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include -I$(top_srcdir)/src/frontend @X_CFLAGS@
|
AM_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include -I$(top_srcdir)/src/frontend @X_CFLAGS@
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
/**********
|
/**********
|
||||||
* From xgraph.c:
|
|
||||||
* Copyright 1992 Regents of the University of California. All rights reserved.
|
* Copyright 1992 Regents of the University of California. All rights reserved.
|
||||||
* Author: 1992 David A. Gates, U. C. Berkeley CAD Group
|
* Author: 1992 David A. Gates, U. C. Berkeley CAD Group
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@
|
||||||
#include "plotit.h"
|
#include "plotit.h"
|
||||||
#include "points.h"
|
#include "points.h"
|
||||||
#include "agraf.h"
|
#include "agraf.h"
|
||||||
#include "xgraph.h"
|
|
||||||
#include "gnuplot.h"
|
#include "gnuplot.h"
|
||||||
#include "graf.h"
|
#include "graf.h"
|
||||||
|
|
||||||
|
|
@ -1073,19 +1072,6 @@ bool plotit(wordlist *wl, const char *hcopy, const char *devname)
|
||||||
|
|
||||||
y_type = d ? SV_NOTYPE : vecs->v_type;
|
y_type = d ? SV_NOTYPE : vecs->v_type;
|
||||||
|
|
||||||
#ifndef X_DISPLAY_MISSING
|
|
||||||
if (devname && eq(devname, "xgraph")) {
|
|
||||||
/* Interface to XGraph-11 Plot Program */
|
|
||||||
ft_xgraph(xlims, ylims, hcopy,
|
|
||||||
title ? title : vecs->v_plot->pl_title,
|
|
||||||
xlabel ? xlabel : ft_typabbrev(vecs->v_scale->v_type),
|
|
||||||
ylabel ? ylabel : ft_typabbrev(y_type),
|
|
||||||
gtype, ptype, vecs);
|
|
||||||
rtn = TRUE;
|
|
||||||
goto quit;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (devname && eq(devname, "gnuplot")) {
|
if (devname && eq(devname, "gnuplot")) {
|
||||||
/* Interface to Gnuplot Plot Program */
|
/* Interface to Gnuplot Plot Program */
|
||||||
ft_gnuplot(xlims, ylims, hcopy,
|
ft_gnuplot(xlims, ylims, hcopy,
|
||||||
|
|
|
||||||
|
|
@ -1,167 +0,0 @@
|
||||||
/**********
|
|
||||||
Copyright 1992 Regents of the University of California. All rights reserved.
|
|
||||||
Author: 1992 David A. Gates, U. C. Berkeley CAD Group
|
|
||||||
**********/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Xgraph-11 plots.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "ngspice/ngspice.h"
|
|
||||||
#include "ngspice/cpdefs.h"
|
|
||||||
#include "ngspice/ftedefs.h"
|
|
||||||
#include "ngspice/dvec.h"
|
|
||||||
#include "ngspice/fteparse.h"
|
|
||||||
#include "xgraph.h"
|
|
||||||
|
|
||||||
|
|
||||||
#define XG_MAXVECTORS 64
|
|
||||||
|
|
||||||
void
|
|
||||||
ft_xgraph(double *xlims, double *ylims, char *filename, char *title, char *xlabel, char *ylabel, GRIDTYPE gridtype, PLOTTYPE plottype, struct dvec *vecs)
|
|
||||||
{
|
|
||||||
FILE *file;
|
|
||||||
struct dvec *v, *scale;
|
|
||||||
double xval, yval;
|
|
||||||
int i, numVecs, linewidth;
|
|
||||||
bool xlog, ylog, nogrid, markers;
|
|
||||||
char buf[BSIZE_SP], pointstyle[BSIZE_SP], *text;
|
|
||||||
|
|
||||||
/* Sanity checking. */
|
|
||||||
for (v = vecs, numVecs = 0; v; v = v->v_link2)
|
|
||||||
numVecs++;
|
|
||||||
|
|
||||||
if (numVecs == 0) {
|
|
||||||
return;
|
|
||||||
} else if (numVecs > XG_MAXVECTORS) {
|
|
||||||
fprintf(cp_err, "Error: too many vectors for Xgraph.\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!cp_getvar("xbrushwidth", CP_NUM, &linewidth, 0))
|
|
||||||
linewidth = 1;
|
|
||||||
|
|
||||||
if (linewidth < 1)
|
|
||||||
linewidth = 1;
|
|
||||||
|
|
||||||
if (!cp_getvar("pointstyle", CP_STRING, pointstyle, sizeof(pointstyle))) {
|
|
||||||
markers = FALSE;
|
|
||||||
} else {
|
|
||||||
if (cieq(pointstyle, "markers"))
|
|
||||||
markers = TRUE;
|
|
||||||
else
|
|
||||||
markers = FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Make sure the gridtype is supported. */
|
|
||||||
switch (gridtype) {
|
|
||||||
case GRID_LIN:
|
|
||||||
nogrid = xlog = ylog = FALSE;
|
|
||||||
break;
|
|
||||||
case GRID_XLOG:
|
|
||||||
xlog = TRUE;
|
|
||||||
nogrid = ylog = FALSE;
|
|
||||||
break;
|
|
||||||
case GRID_YLOG:
|
|
||||||
ylog = TRUE;
|
|
||||||
nogrid = xlog = FALSE;
|
|
||||||
break;
|
|
||||||
case GRID_LOGLOG:
|
|
||||||
xlog = ylog = TRUE;
|
|
||||||
nogrid = FALSE;
|
|
||||||
break;
|
|
||||||
case GRID_NONE:
|
|
||||||
nogrid = TRUE;
|
|
||||||
xlog = ylog = FALSE;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
fprintf(cp_err, "Error: grid type unsupported by Xgraph.\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Open the output file. */
|
|
||||||
if ((file = fopen(filename, "w")) == NULL) {
|
|
||||||
perror(filename);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Set up the file header. */
|
|
||||||
if (title) {
|
|
||||||
text = cp_unquote(title);
|
|
||||||
fprintf(file, "TitleText: %s\n", text);
|
|
||||||
tfree(text);
|
|
||||||
}
|
|
||||||
if (xlabel) {
|
|
||||||
text = cp_unquote(xlabel);
|
|
||||||
fprintf(file, "XUnitText: %s\n", text);
|
|
||||||
tfree(text);
|
|
||||||
}
|
|
||||||
if (ylabel) {
|
|
||||||
text = cp_unquote(ylabel);
|
|
||||||
fprintf(file, "YUnitText: %s\n", text);
|
|
||||||
tfree(text);
|
|
||||||
}
|
|
||||||
if (nogrid) {
|
|
||||||
fprintf(file, "Ticks: True\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (xlog) {
|
|
||||||
fprintf(file, "LogX: True\n");
|
|
||||||
if (xlims) {
|
|
||||||
fprintf(file, "XLowLimit: % e\n", log10(xlims[0]));
|
|
||||||
fprintf(file, "XHighLimit: % e\n", log10(xlims[1]));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (xlims) {
|
|
||||||
fprintf(file, "XLowLimit: % e\n", xlims[0]);
|
|
||||||
fprintf(file, "XHighLimit: % e\n", xlims[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ylog) {
|
|
||||||
fprintf(file, "LogY: True\n");
|
|
||||||
if (ylims) {
|
|
||||||
fprintf(file, "YLowLimit: % e\n", log10(ylims[0]));
|
|
||||||
fprintf(file, "YHighLimit: % e\n", log10(ylims[1]));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (ylims) {
|
|
||||||
fprintf(file, "YLowLimit: % e\n", ylims[0]);
|
|
||||||
fprintf(file, "YHighLimit: % e\n", ylims[1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(file, "LineWidth: %d\n", linewidth);
|
|
||||||
fprintf(file, "BoundBox: True\n");
|
|
||||||
|
|
||||||
if (plottype == PLOT_COMB) {
|
|
||||||
fprintf(file, "BarGraph: True\n");
|
|
||||||
fprintf(file, "NoLines: True\n");
|
|
||||||
} else if (plottype == PLOT_POINT) {
|
|
||||||
if (markers)
|
|
||||||
fprintf(file, "Markers: True\n");
|
|
||||||
else
|
|
||||||
fprintf(file, "LargePixels: True\n");
|
|
||||||
fprintf(file, "NoLines: True\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Write out the data. */
|
|
||||||
for (v = vecs; v; v = v->v_link2) {
|
|
||||||
scale = v->v_scale;
|
|
||||||
if (v->v_name)
|
|
||||||
fprintf(file, "\"%s\"\n", v->v_name);
|
|
||||||
|
|
||||||
for (i = 0; i < scale->v_length; i++) {
|
|
||||||
xval = isreal(scale) ?
|
|
||||||
scale->v_realdata[i] : realpart(scale->v_compdata[i]);
|
|
||||||
yval = isreal(v) ?
|
|
||||||
v->v_realdata[i] : realpart(v->v_compdata[i]);
|
|
||||||
fprintf(file, "% e % e\n", xval, yval);
|
|
||||||
}
|
|
||||||
fprintf(file, "\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
(void) fclose(file);
|
|
||||||
(void) sprintf(buf, "xgraph %s &", filename);
|
|
||||||
(void) system(buf);
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
/*************
|
|
||||||
* Header file for xgraph.c
|
|
||||||
* 1999 E. Rouat
|
|
||||||
************/
|
|
||||||
|
|
||||||
#ifndef ngspice_XGRAPH_H
|
|
||||||
#define ngspice_XGRAPH_H
|
|
||||||
|
|
||||||
void ft_xgraph(double *xlims, double *ylims, char *filename, char *title,
|
|
||||||
char *xlabel, char *ylabel, GRIDTYPE gridtype, PLOTTYPE plottype,
|
|
||||||
struct dvec *vecs);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -1511,7 +1511,6 @@
|
||||||
<ClCompile Include="..\src\frontend\plotting\plotting.c" />
|
<ClCompile Include="..\src\frontend\plotting\plotting.c" />
|
||||||
<ClCompile Include="..\src\frontend\plotting\pvec.c" />
|
<ClCompile Include="..\src\frontend\plotting\pvec.c" />
|
||||||
<ClCompile Include="..\src\frontend\plotting\x11.c" />
|
<ClCompile Include="..\src\frontend\plotting\x11.c" />
|
||||||
<ClCompile Include="..\src\frontend\plotting\xgraph.c" />
|
|
||||||
<ClCompile Include="..\src\frontend\points.c" />
|
<ClCompile Include="..\src\frontend\points.c" />
|
||||||
<ClCompile Include="..\src\frontend\postcoms.c" />
|
<ClCompile Include="..\src\frontend\postcoms.c" />
|
||||||
<ClCompile Include="..\src\frontend\postsc.c" />
|
<ClCompile Include="..\src\frontend\postsc.c" />
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue