2000-04-27 22:03:57 +02:00
|
|
|
/*************
|
|
|
|
|
* Header file for outitf.c
|
|
|
|
|
* 1999 E. Rouat
|
|
|
|
|
************/
|
|
|
|
|
|
2013-01-23 20:57:32 +01:00
|
|
|
#ifndef ngspice_OUTITF_H
|
|
|
|
|
#define ngspice_OUTITF_H
|
2012-02-07 18:28:27 +01:00
|
|
|
|
|
|
|
|
#include "ngspice/typedefs.h"
|
|
|
|
|
|
|
|
|
|
|
2000-04-27 22:03:57 +02:00
|
|
|
typedef struct dataDesc {
|
2012-09-20 20:30:53 +02:00
|
|
|
char *name; /* The name of the vector. */
|
|
|
|
|
int type; /* The type. */
|
|
|
|
|
GRIDTYPE gtype; /* default plot scale */
|
|
|
|
|
bool regular; /* Is this given to us? */
|
|
|
|
|
int outIndex; /* If regular then the index. */
|
|
|
|
|
char *specName; /* The device name if special. */
|
|
|
|
|
char *specParamName; /* The parameter name if special. */
|
|
|
|
|
int specIndex; /* For sensitivity, if special. */
|
2000-04-27 22:03:57 +02:00
|
|
|
int specType;
|
2010-07-08 19:20:03 +02:00
|
|
|
GENinstance *specFast;
|
2012-09-20 20:30:53 +02:00
|
|
|
int refIndex; /* The index of our ref vector. */
|
2000-04-27 22:03:57 +02:00
|
|
|
struct dvec *vec;
|
|
|
|
|
} dataDesc;
|
|
|
|
|
|
2012-09-20 20:30:53 +02:00
|
|
|
|
2012-02-07 18:28:27 +01:00
|
|
|
struct runDesc {
|
2000-04-27 22:03:57 +02:00
|
|
|
void *analysis;
|
2010-07-07 19:32:40 +02:00
|
|
|
CKTcircuit *circuit;
|
2000-04-27 22:03:57 +02:00
|
|
|
char *name;
|
|
|
|
|
char *type;
|
|
|
|
|
int numData;
|
|
|
|
|
int refIndex;
|
|
|
|
|
dataDesc *data;
|
|
|
|
|
bool writeOut;
|
|
|
|
|
bool windowed;
|
|
|
|
|
bool binary;
|
|
|
|
|
struct plot *runPlot;
|
|
|
|
|
FILE *fp;
|
2012-09-20 20:30:53 +02:00
|
|
|
long pointPos; /* where to write pointCount */
|
2000-04-27 22:03:57 +02:00
|
|
|
int pointCount;
|
|
|
|
|
int isComplex;
|
|
|
|
|
int windowCount;
|
2019-01-08 23:32:17 +01:00
|
|
|
int maxData;
|
2012-02-07 18:28:27 +01:00
|
|
|
};
|
2000-04-27 22:03:57 +02:00
|
|
|
|
2012-09-20 20:30:53 +02:00
|
|
|
|
2011-12-13 20:10:34 +01:00
|
|
|
int OUTpBeginPlot(CKTcircuit *circuitPtr, JOB *analysisPtr,
|
|
|
|
|
IFuid analName,
|
|
|
|
|
IFuid refName, int refType,
|
2012-02-07 18:43:07 +01:00
|
|
|
int numNames, IFuid *dataNames, int dataType, runDesc **plotPtr);
|
2011-12-13 20:10:34 +01:00
|
|
|
int OUTwBeginPlot(CKTcircuit *circuitPtr, JOB *analysisPtr,
|
|
|
|
|
IFuid analName,
|
|
|
|
|
IFuid refName, int refType,
|
2012-02-07 18:43:07 +01:00
|
|
|
int numNames, IFuid *dataNames, int dataType, runDesc **plotPtr);
|
|
|
|
|
int OUTpData(runDesc *plotPtr, IFvalue *refValue, IFvalue *valuePtr);
|
2021-01-26 18:18:28 +01:00
|
|
|
int OUTwReference(runDesc *plotPtr, IFvalue *valuePtr, void **refPtr);
|
2012-02-07 18:43:07 +01:00
|
|
|
int OUTwData(runDesc *plotPtr, int dataIndex, IFvalue *valuePtr, void *refPtr);
|
|
|
|
|
int OUTwEnd(runDesc *plotPtr);
|
|
|
|
|
int OUTendPlot(runDesc *plotPtr);
|
|
|
|
|
int OUTbeginDomain(runDesc *plotPtr, IFuid refName, int refType, IFvalue *outerRefValue);
|
|
|
|
|
int OUTendDomain(runDesc *plotPtr);
|
|
|
|
|
int OUTattributes(runDesc *plotPtr, IFuid varName, int param, IFvalue *value);
|
2000-04-27 22:03:57 +02:00
|
|
|
int OUTstopnow(void);
|
|
|
|
|
void OUTerror(int flags, char *format, IFuid *names);
|
2014-05-07 20:04:10 +02:00
|
|
|
|
|
|
|
|
#ifdef __GNUC__
|
2014-04-04 19:46:41 +02:00
|
|
|
void OUTerrorf(int, const char *fmt, ...) __attribute__ ((format (__printf__, 2, 3)));
|
2014-05-07 20:04:10 +02:00
|
|
|
#else
|
|
|
|
|
void OUTerrorf(int, const char *fmt, ...);
|
|
|
|
|
#endif
|
2000-04-27 22:03:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|