ngspice/src/include/fteext.h

494 lines
16 KiB
C
Raw Normal View History

2000-04-27 22:03:57 +02:00
/**********
Copyright 1990 Regents of the University of California. All rights reserved.
Author: 1986 Wayne A. Christopher, U. C. Berkeley CAD Group
Modified: 1999 Paolo Nenzi - 2000 AlansFixes
2000-04-27 22:03:57 +02:00
**********/
/*
* Definitions for all external symbols in FTE.
*/
#ifndef FTEext_h
#define FTEext_h
#include <config.h>
/* needed to find out what the interface structures look like */
#include "ifsim.h"
* src/Makefile.am src/main.c src/sconvert.c src/analysis/cktdisto.c src/analysis/cktnoise.c src/analysis/noisean.c: Updates for the new header files. * src/maths/cmaths/cmath1.c src/maths/cmaths/cmath2.c src/maths/cmaths/cmath3.c src/maths/cmaths/cmath4.c: Updates for the new header files. * src/frontend/.cvsignore src/frontend/Makefile.am: Updates for the new files. * src/frontend/agraf.c src/frontend/aspice.c src/frontend/breakp.c src/frontend/breakp2.c src/frontend/circuits.c src/frontend/cpitf.c src/frontend/debugcom.c src/frontend/define.c src/frontend/diff.c src/frontend/dimens.c src/frontend/display.c src/frontend/doplot.c src/frontend/dotcards.c src/frontend/evaluate.c src/frontend/fourier.c src/frontend/graf.c src/frontend/grid.c src/frontend/inp.c src/frontend/inpcom.c src/frontend/interp.c src/frontend/linear.c src/frontend/misccoms.c src/frontend/misccoms.h src/frontend/miscvars.c src/frontend/mw_coms.c src/frontend/newcoms.c src/frontend/nutinp.c src/frontend/options.c src/frontend/outitf.c src/frontend/parse.c src/frontend/plotcurv.c src/frontend/points.c src/frontend/postcoms.c src/frontend/rawfile.c src/frontend/runcoms.c src/frontend/runcoms2.c src/frontend/shyu.c src/frontend/spec.c src/frontend/spiceif.c src/frontend/typesdef.c src/frontend/vectors.c src/frontend/where.c src/frontend/postcoms.c: Updates for the new header files. Some commands have moved into the new files below. * src/frontend/README src/frontend/com_compose.c src/frontend/com_compose.h src/frontend/com_display.c src/frontend/com_display.h src/frontend/com_let.c src/frontend/com_let.h src/frontend/com_setscale.c src/frontend/com_setscale.h src/frontend/commands.c src/frontend/commands.h src/frontend/completion.h src/frontend/streams.h src/frontend/testcommands.c: Separation into different com_* commands. This is a start. The rest of the subdirectory needs doing. * src/include/complex.h src/include/cpdefs.h src/include/cpextern.h src/include/cpstd.h src/include/fteconst.h src/include/ftedata.h src/include/ftedev.h src/include/fteext.h src/include/ftegraph.h src/include/fteparse.h src/include/dvec.h src/include/grid.h src/include/plot.h src/include/pnode.h src/include/sim.h src/include/variable.h src/include/wordlist.h src/include/bool.h: Separation of header files into smaller pieces. This limits recompilation to only the affected source files. The original header files have a warning message embedded to flag obsoleted use. * src/frontend/compose.c src/frontend/compose.h src/frontend/nutctab.c src/frontend/nutctab.h src/frontend/plot5.c src/frontend/plot5.h src/frontend/spcmdtab.c src/frontend/x11.c src/frontend/x11.h src/frontend/xgraph.c src/frontend/xgraph.h: Moved these files into src/frontend/plotting subdirectory. * src/frontend/plotting/.cvsignore src/frontend/plotting/Makefile.am src/frontend/plotting/plot5.c src/frontend/plotting/plot5.h src/frontend/plotting/plotting.c src/frontend/plotting/plotting.h src/frontend/plotting/pvec.c src/frontend/plotting/pvec.h src/frontend/plotting/x11.c src/frontend/plotting/x11.h src/frontend/plotting/xgraph.c src/frontend/plotting/xgraph.h: The new libplotting library with automake and CVS infrastructure.
2000-05-06 16:12:51 +02:00
#include "dvec.h"
#include "plot.h"
2000-04-27 22:03:57 +02:00
#include "cpdefs.h"
#include "ftedefs.h"
#include "fteinp.h"
/* arg.c */
extern void arg_plot(wordlist *wl, struct comm *command);
extern void arg_display(wordlist *wl, struct comm *command);
extern void arg_print(wordlist *wl, struct comm *command);
extern void arg_let(wordlist *wl, struct comm *command);
extern void arg_load(wordlist *wl, struct comm *command);
extern void arg_set(wordlist *wl, struct comm *command);
extern void outmenuprompt(char *string);
2000-04-27 22:03:57 +02:00
/* aspice.c */
2010-06-23 19:40:56 +02:00
extern void com_aspice(wordlist *wl);
extern void com_jobs(wordlist *wl);
extern void com_rspice(wordlist *wl);
extern void ft_checkkids(void);
2000-04-27 22:03:57 +02:00
/* breakpoint.c */
extern bool ft_bpcheck(struct plot *runplot, int iteration);
2010-06-23 19:40:56 +02:00
extern void com_delete(wordlist *wl);
extern void com_iplot(wordlist *wl);
extern void com_save(wordlist *wl);
extern void com_save2(wordlist *wl, char *name);
extern void com_step(wordlist *wl);
extern void com_stop(wordlist *wl);
extern void com_sttus(wordlist *wl);
extern void com_trce(wordlist *wl);
extern void ft_trquery(void);
2000-04-27 22:03:57 +02:00
extern void dbfree( );
/* breakp2.c */
2000-09-05 18:51:55 +02:00
extern int ft_getSaves(struct save_info **);
2000-04-27 22:03:57 +02:00
/* circuits.c */
extern struct circ *ft_curckt;
extern struct circ *ft_circuits;
extern struct subcirc *ft_subcircuits;
extern void ft_newcirc(struct circ *ckt);
2000-04-27 22:03:57 +02:00
/* clip.c */
extern bool clip_line(int *pX1, int *pY1, int *pX2, int *pY2, int l, int b, int r, int t);
extern bool clip_to_circle(int *x1, int *y1, int *x2, int *y2, int cx, int cy, int rad);
2000-04-27 22:03:57 +02:00
/* cmath1.c */
extern bool cx_degrees;
extern void *cx_mag(void *, short int , int , int *, short int *, ...);
extern void *cx_ph(void *, short int , int , int *, short int *, ...);
extern void *cx_j(void *, short int , int , int *, short int *, ...);
extern void *cx_real(void *, short int , int , int *, short int *, ...);
extern void *cx_imag(void *, short int , int , int *, short int *, ...);
extern void *cx_pos(void *, short int , int , int *, short int *, ...);
extern void *cx_db(void *, short int , int , int *, short int *, ...);
extern void *cx_log(void *, short int , int , int *, short int *, ...);
extern void *cx_ln(void *, short int , int , int *, short int *, ...);
extern void *cx_exp(void *, short int , int , int *, short int *, ...);
extern void *cx_sqrt(void *, short int , int , int *, short int *, ...);
extern void *cx_sin(void *, short int , int , int *, short int *, ...);
extern void *cx_cos(void *, short int , int , int *, short int *, ...);
2000-04-27 22:03:57 +02:00
/* cmath2.c */
extern void *cx_tan(void *, short int , int , int *, short int *, ...);
extern void *cx_atan(void *, short int , int , int *, short int *, ...);
extern void *cx_norm(void *, short int , int , int *, short int *, ...);
extern void *cx_uminus(void *, short int , int , int *, short int *, ...);
extern void *cx_rnd(void *, short int , int , int *, short int *, ...);
extern void *cx_mean(void *, short int , int , int *, short int *, ...);
extern void *cx_avg(void *, short int , int , int *, short int *, ...);
extern void *cx_length(void *, short int , int , int *, short int *, ...);
extern void *cx_vector(void *, short int , int , int *, short int *, ...);
extern void *cx_unitvec(void *, short int , int , int *, short int *, ...);
/* Routoure JM : somme useful functions */
extern void *cx_min(void *, short int , int , int *, short int *, ...);
extern void *cx_max(void *, short int , int , int *, short int *, ...);
extern void *cx_d(void *, short int , int , int *, short int *, ...);
2000-04-27 22:03:57 +02:00
extern void *cx_plus(void *, void *, short int , short int , int, ...);
extern void *cx_minus(void *, void *, short int , short int , int, ...);
extern void *cx_times(void *, void *, short int , short int , int, ...);
extern void *cx_mod(void *, void *, short int , short int , int, ...);
2000-04-27 22:03:57 +02:00
/* cmath3.c */
extern void *cx_divide(void *, void *, short int , short int , int, ...);
extern void *cx_comma(void *, void *, short int , short int , int, ...);
extern void *cx_power(void *, void *, short int , short int , int, ...);
extern void *cx_eq(void *, void *, short int , short int , int, ...);
extern void *cx_gt(void *, void *, short int , short int , int, ...);
extern void *cx_lt(void *, void *, short int , short int , int, ...);
extern void *cx_ge(void *, void *, short int , short int , int, ...);
extern void *cx_le(void *, void *, short int , short int , int, ...);
extern void *cx_ne(void *, void *, short int , short int , int, ...);
2000-04-27 22:03:57 +02:00
/* cmath4.c */
extern void *cx_and(void *, void *, short int , short int , int, ...);
extern void *cx_or(void *, void *, short int , short int , int, ...);
extern void *cx_not(void *, short int , int , int *, short int * , ...);
extern void *cx_interpolate(void *, short int , int , int *, short int *, ...); /* struct plot *, struct plot *, int ); */
extern void *cx_deriv(void *, short int , int , int *, short int *, ...); /*struct plot *, struct plot *, int );*/
extern void *cx_group_delay(void *, short int , int , int *, short int *, ...); /*struct plot *, struct plot *, int );*/
2000-04-27 22:03:57 +02:00
/* cmdtab.c */
extern struct comm *cp_coms;
/* compose.c */
2010-06-23 19:40:56 +02:00
extern void com_compose(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* cpinterface.c symbols declared in CPextern.h */
/* debugcoms.c */
2010-06-23 19:40:56 +02:00
extern void com_dump(wordlist *wl);
extern void com_state(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* define.c */
extern struct pnode *ft_substdef(char *name, struct pnode *args);
2010-06-23 19:40:56 +02:00
extern void com_define(wordlist *wl);
extern void com_undefine(wordlist *wl);
extern void ft_pnode(struct pnode *pn);
2000-04-27 22:03:57 +02:00
/* device.c */
2010-06-23 19:40:56 +02:00
extern void com_show(wordlist *wl);
extern void com_showmod(wordlist *wl);
extern void com_alter(wordlist *wl);
extern void com_altermod(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* diff.c */
2010-06-23 19:40:56 +02:00
extern void com_diff(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* doplot.c */
2010-06-23 19:40:56 +02:00
extern void com_asciiplot(wordlist *wl);
extern void com_hardcopy(wordlist *wl);
extern void com_plot(wordlist *wl);
extern void com_xgraph(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* dotcards.c */
extern bool ft_acctprint;
2009-02-22 19:28:25 +01:00
extern bool ft_noacctprint;
2009-08-22 18:54:03 +02:00
extern bool ft_noinitprint;
2000-04-27 22:03:57 +02:00
extern bool ft_listprint;
extern bool ft_nopage;
extern bool ft_nomod;
extern bool ft_nodesprint;
extern bool ft_optsprint;
extern int ft_cktcoms(bool terse);
extern void ft_dotsaves(void);
extern int ft_savedotargs(void);
2000-04-27 22:03:57 +02:00
/* error.c */
extern void fatal(void);
extern void fperror(char *mess, int code);
extern void ft_sperror(int code, char *mess);
2000-04-27 22:03:57 +02:00
extern char ErrorMessage[];
* TODO, doc/ngspice.texi: Small updates * configure.in: New --enable-smoketest. * src/main.c src/ngspice.c src/frontend/outitf.c src/frontend/runcoms.c src/frontend/spiceif.c src/frontend/parser/numparse.c src/include/cktdefs.h src/include/fteext.h src/include/inpdefs.h src/include/jobdefs.h src/include/ngspice.h src/include/tskdefs.h src/spicelib/analysis/Makefile.am src/spicelib/analysis/acsetp.c src/spicelib/analysis/cktaskaq.c src/spicelib/analysis/cktdojob.c src/spicelib/analysis/cktnewan.c src/spicelib/analysis/cktsetap.c src/spicelib/analysis/cktsopt.c src/spicelib/analysis/ckttroub.c src/spicelib/analysis/dcosetp.c src/spicelib/analysis/dctsetp.c src/spicelib/analysis/dsetparm.c src/spicelib/analysis/nsetparm.c src/spicelib/analysis/pzsetp.c src/spicelib/analysis/senssetp.c src/spicelib/analysis/tfsetp.c src/spicelib/analysis/transetp.c src/spicelib/devices/bjt/bjtdset.h src/spicelib/devices/bjt/bjtext.h src/spicelib/devices/bjt/bjtsetup.c src/spicelib/devices/bsim2/b2set.c src/spicelib/devices/bsim3/b3acld.c src/spicelib/devices/bsim3/b3set.c src/spicelib/devices/bsim3/bsim3def.h src/spicelib/devices/csw/cswtrunc.c src/spicelib/devices/dio/diodset.c src/spicelib/devices/dio/dioinit.c src/spicelib/devices/jfet/jfetset.c src/spicelib/devices/mes/messetup.c src/spicelib/devices/mos1/mos1ask.c src/spicelib/devices/mos1/mos1set.c src/spicelib/devices/mos1/mos1temp.c src/spicelib/devices/mos3/mos3load.c src/spicelib/devices/mos6/mos6set.c src/spicelib/devices/sw/swtrunc.c src/spicelib/parser/inppas2.c src/spicelib/parser/inppas3.c src/spicelib/parser/inppas3.h: Paolo and I have integrated patches from Alan Gillespie <Alan.Gillespie@analog.com>.
2000-09-05 21:48:22 +02:00
extern void internalerror(char *);
extern void externalerror(char *);
2000-04-27 22:03:57 +02:00
/* evaluate.c */
extern struct dvec *op_and(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_comma(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_divide(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_eq(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *ft_evaluate(struct pnode *node);
extern struct dvec *op_ge(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_gt(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_le(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_lt(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_minus(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_mod(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_ne(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_not(struct pnode *arg);
extern struct dvec *op_or(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_ind(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_plus(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_power(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_times(struct pnode *arg1, struct pnode *arg2);
extern struct dvec *op_uminus(struct pnode *arg);
extern struct dvec *op_range(struct pnode *arg1, struct pnode *arg2);
2000-04-27 22:03:57 +02:00
/* spec.c */
2010-06-23 19:40:56 +02:00
extern void com_spec(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* com_fft.c */
extern void com_fft(wordlist*);
2009-10-01 00:22:36 +02:00
/* com_sysinfo.c */
2010-06-23 19:40:56 +02:00
extern void com_sysinfo(wordlist *wl);
2009-12-20 17:43:51 +01:00
/* ginterface.c
2000-04-27 22:03:57 +02:00
extern bool gi_init();
extern bool gi_endpause;
extern bool gi_rottext;
extern int gi_fntheight;
extern int gi_fntwidth;
extern int gi_maxx;
extern int gi_maxy;
extern int gi_nolst;
extern int gi_nocolors;
extern int gi_package;
extern void gi_arc();
extern void gi_clearscreen();
extern void gi_close();
extern void gi_drawline();
extern void gi_redraw();
extern void gi_setcolor();
extern void gi_resetcolor();
extern void gi_setlinestyle();
extern void gi_text();
extern void gi_update();
2009-12-20 17:43:51 +01:00
*/
2000-04-27 22:03:57 +02:00
/* graf.c */
extern bool gr_gmode;
extern bool gr_hmode;
extern void gr_clean(void);
extern void gr_end(struct dvec *dv);
extern void gr_iplot(struct plot *plot);
extern void gr_pmsg(char *text);
extern void gr_point(struct dvec *dv, double newx, double newy, double oldx, double oldy, int np);
extern void gr_start(struct dvec *dv);
2000-04-27 22:03:57 +02:00
extern double gr_xrange[2];
extern double gr_yrange[2];
extern int gr_xmargin;
extern int gr_ymargin;
extern int gr_xcenter;
extern int gr_ycenter;
extern int gr_radius;
extern bool gr_circular;
/* grid.c */
extern void gr_fixgrid();
/* inp.c */
2010-06-23 19:40:56 +02:00
extern void com_edit(wordlist *wl);
extern void com_listing(wordlist *wl);
extern void com_source(wordlist *wl);
void inp_dodeck(struct line *deck, char *tt, wordlist *end, bool reuse,
struct line *options, char *filename);
extern void inp_source(char *file);
void inp_spsource(FILE *fp, bool comfile, char *filename);
extern void inp_casefix(char *string);
extern void inp_list(FILE *file, struct line *deck, struct line *extras, int type);
extern void inp_readall(FILE *fp, struct line **data, int call_depth, char *dir_name);
extern FILE *inp_pathopen(char *name, char *mode);
2000-04-27 22:03:57 +02:00
/* nutinp.c */
void inp_nutsource(FILE *fp, bool comfile, char *filename);
void nutinp_dodeck(struct line *deck, char *tt, wordlist *end, bool reuse,
struct line *options, char *filename);
2010-06-23 19:40:56 +02:00
extern void nutcom_source(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* interpolate.c */
extern bool ft_interpolate(double *data, double *ndata, double *oscale, int olen, double *nscale, int nlen, int degree);
extern bool ft_polyfit(double *xdata, double *ydata, double *result, int degree, double *scratch);
extern double ft_peval(double x, double *coeffs, int degree);
extern void ft_polyderiv(double *coeffs, int degree);
2010-06-23 19:40:56 +02:00
extern void com_linearize(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* misccoms.c */
2010-06-23 19:40:56 +02:00
extern void com_bug(wordlist *wl);
extern void com_ahelp(wordlist *wl);
extern void com_ghelp(wordlist *wl);
extern void com_help(wordlist *wl);
extern void com_quit(wordlist *wl);
extern void com_version(wordlist *wl);
extern int hcomp(const void *a, const void *b);
2010-06-23 19:40:56 +02:00
extern void com_where(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* mw_coms.c */
2010-06-23 19:40:56 +02:00
extern void com_removecirc(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* numparse.c */
extern bool ft_strictnumparse;
double * ft_numparse(char **s, bool whole);
2000-04-27 22:03:57 +02:00
/* options.c */
extern bool ft_simdb;
extern bool ft_parsedb;
extern bool ft_evdb;
extern bool ft_vecdb;
extern bool ft_grdb;
extern bool ft_gidb;
extern bool ft_controldb;
extern bool ft_asyncdb;
extern char *ft_setkwords[];
extern struct line *inp_getopts(struct line *deck);
extern struct variable *cp_enqvar(char *word);
extern bool ft_ngdebug;
2000-04-27 22:03:57 +02:00
/* parse.c */
extern struct func ft_funcs[];
extern struct func func_not;
extern struct func func_uminus;
2000-09-05 18:51:55 +02:00
extern struct pnode * ft_getpnames(wordlist *wl, bool check);
#define free_pnode(ptr) free_pnode_x(ptr); ptr=NULL
extern void free_pnode_x(struct pnode *t);
2000-04-27 22:03:57 +02:00
/* plotcurve.c */
2000-09-05 18:51:55 +02:00
extern int ft_findpoint(double pt, double *lims, int maxp, int minp, bool islog);
extern double * ft_minmax(struct dvec *v, bool real);
extern void ft_graf(struct dvec *v, struct dvec *xs, bool nostart);
2000-04-27 22:03:57 +02:00
/* postcoms.c */
2010-06-23 19:40:56 +02:00
extern void com_cross(wordlist *wl);
extern void com_display(wordlist *wl);
extern void com_let(wordlist *wl);
extern void com_unlet(wordlist *wl);
extern void com_load(wordlist *wl);
extern void com_print(wordlist *wl);
extern void com_write(wordlist *wl);
extern void com_destroy(wordlist *wl);
extern void com_splot(wordlist *wl);
extern void com_setscale(wordlist *wl);
extern void com_transpose(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* rawfile.c */
extern int raw_prec;
extern void raw_write(char *name, struct plot *pl, bool app, bool binary);
extern struct plot *raw_read(char *name);
2000-04-27 22:03:57 +02:00
/* meas.c */
extern void do_measure(char *what, bool chk_only);
extern bool check_autostop(char *what);
2009-12-20 17:43:51 +01:00
extern void com_meas(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* resource.c */
2010-06-23 19:40:56 +02:00
extern void com_rusage(wordlist *wl);
extern void ft_ckspace(void);
extern void init_rlimits(void);
2000-04-27 22:03:57 +02:00
/* runcoms.c */
2010-06-23 19:40:56 +02:00
extern void com_ac(wordlist *wl);
extern void com_dc(wordlist *wl);
extern void com_op(wordlist *wl);
extern void com_pz(wordlist *wl);
extern void com_sens(wordlist *wl);
extern void com_rset(wordlist *wl);
extern void com_resume(wordlist *wl);
extern void com_run(wordlist *wl);
extern void com_tran(wordlist *wl);
extern void com_tf(wordlist *wl);
extern void com_scirc(wordlist *wl);
extern void com_disto(wordlist *wl);
extern void com_noise(wordlist *wl);
extern int ft_dorun(char *file);
2000-04-27 22:03:57 +02:00
extern bool ft_getOutReq(FILE **, struct plot **, bool *, char *, char *);
2000-04-27 22:03:57 +02:00
/* spice.c & nutmeg.c */
extern bool ft_nutmeg;
extern IFsimulator *ft_sim;
extern char *ft_rawfile;
extern char *cp_program;
extern RETSIGTYPE ft_sigintr(void);
extern RETSIGTYPE sigfloat(int sig, int code);
extern RETSIGTYPE sigstop(void);
2000-04-27 22:03:57 +02:00
extern RETSIGTYPE sigill();
extern RETSIGTYPE sigbus();
extern RETSIGTYPE sigsegv();
extern RETSIGTYPE sig_sys();
extern int main(int argc, char **argv);
2000-04-27 22:03:57 +02:00
/* spiceif.c & nutmegif.c */
extern bool if_tranparams();
extern char *if_errstring(int code);
2000-04-27 22:03:57 +02:00
extern char *if_inpdeck();
extern int if_run();
extern int if_sens_run();
extern struct variable *(*if_getparam)();
extern struct variable *nutif_getparam();
extern struct variable *spif_getparam(void *ckt, char **name, char *param, int ind, int do_model);
extern struct variable *spif_getparam_special();
2000-04-27 22:03:57 +02:00
extern void if_cktfree();
extern void if_dump();
extern int if_option();
extern void if_setndnames();
2007-10-08 23:45:00 +02:00
extern void if_setparam_model();
2000-04-27 22:03:57 +02:00
extern void if_setparam();
extern struct variable *if_getstat();
/* subckt.c */
extern struct line *inp_deckcopy(struct line *deck);
extern struct line *inp_subcktexpand(struct line *deck);
2000-04-27 22:03:57 +02:00
2010-02-28 18:51:39 +01:00
/* typesdef.c */
extern void com_dftype(wordlist *);
extern void com_stype(wordlist *);
extern char *ft_typabbrev(int);
extern char *ft_typenames(int);
extern char *ft_plotabbrev(char *);
extern int ft_typnum(char *);
2000-04-27 22:03:57 +02:00
/* vectors.c */
extern bool vec_eq(struct dvec *v1, struct dvec *v2);
2000-04-27 22:03:57 +02:00
extern int plot_num;
extern struct dvec *vec_fromplot(char *word, struct plot *plot);
extern struct dvec *vec_copy(struct dvec *v);
extern struct dvec *vec_get(char *word);
extern struct dvec *vec_mkfamily(struct dvec *v);
2000-04-27 22:03:57 +02:00
extern struct plot *plot_cur;
extern struct plot *plot_alloc(char *name);
2000-04-27 22:03:57 +02:00
extern struct plot *plot_list;
extern int plotl_changed;
extern void plot_add(struct plot *pl);
#define vec_free(ptr) vec_free_x(ptr); ptr=NULL
extern void vec_free_x(struct dvec *v);
extern void vec_gc(void);
extern void ft_loadfile(char *file);
extern void vec_new(struct dvec *d);
extern void plot_docoms(wordlist *wl);
extern void vec_remove(char *name);
extern void plot_setcur(char *name);
extern void plot_new(struct plot *pl);
extern char *vec_basename(struct dvec *v);
extern bool plot_prefix(char *pre, char *str);
extern void vec_transpose(struct dvec *v);
2000-04-27 22:03:57 +02:00
2009-12-19 17:04:22 +01:00
/* main.c */
2000-04-27 22:03:57 +02:00
extern bool ft_intrpt;
extern bool ft_setflag;
/* newcoms.c */
2010-06-23 19:40:56 +02:00
extern void com_reshape(wordlist *wl);
2000-04-27 22:03:57 +02:00
/* dimens.c */
extern void dimstring(int *data, int length, char *retstring);
extern int atodims(char *p, int *data, int *outlength);
extern void indexstring(int *data, int length, char *retstring);
extern int incindex(int *counts, int numcounts, int *dims, int numdims);
2000-04-27 22:03:57 +02:00
#endif /* FTEext_h */