1 /********** 2 Copyright 1990 Regents of the University of California. All rights reserved. 3 Author: 1985 Wayne A. Christopher, U. C. Berkeley CAD Group 4 **********/ 5 6 /* 7 * General front end stuff. 8 */ 9 10 #ifndef ngspice_FTEDEFS_H 11 #define ngspice_FTEDEFS_H 12 13 #define DEF_WIDTH 80 /* Line printer width. */ 14 #define DEF_HEIGHT 60 /* Line printer height. */ 15 #define IPOINTMIN 20 /* When we start plotting incremental plots. */ 16 17 #include "ngspice/fteparse.h" 18 #include "ngspice/fteinp.h" 19 #include "ngspice/fteoptdefs.h" 20 21 struct ccom; 22 23 struct save_info { 24 char *name; 25 IFuid analysis; 26 int used; 27 }; 28 29 30 /* The circuits that are currently available to the user. */ 31 32 struct circ { 33 char *ci_name; /* What the circuit can be called. */ 34 CKTcircuit *ci_ckt; /* The CKTcircuit structure. */ 35 INPtables *ci_symtab; /* The INP symbol table. */ 36 INPmodel *ci_modtab; /* The INP model table. */ 37 struct dbcomm *ci_dbs; /* The database storing save, iplot, stop data */ 38 struct card *ci_deck; /* The input deck. */ 39 struct card *ci_origdeck; /* The input deck, before subckt expansion. */ 40 struct card *ci_mcdeck; /* The compacted input deck, used by mc_source */ 41 struct card *ci_options; /* The .option cards from the deck... */ 42 struct card *ci_meas; /* .measure commands to run after simulation */ 43 struct card *ci_param; /* .param statements found in deck */ 44 struct variable *ci_vars; /* ... and the parsed versions. */ 45 bool ci_inprogress; /* We are in a break now. */ 46 bool ci_runonce; /* So com_run can to a reset if necessary... */ 47 wordlist *ci_commands; /* Things to do when this circuit is done. */ 48 struct circ *ci_next; /* The next in the list. */ 49 struct ccom *ci_nodes; /* ccom structs for the nodes... */ 50 struct ccom *ci_devices; /* and devices in the circuit. */ 51 char *ci_filename; /* Where this circuit came from. */ 52 TSKtask *ci_defTask; /* default task for this circuit */ 53 TSKtask *ci_specTask; /* special task for command line jobs */ 54 TSKtask *ci_curTask; /* most recent task for this circuit */ 55 JOB *ci_defOpt; /* default options anal. for this circuit */ 56 JOB *ci_specOpt; /* special options anal. for command line jobs */ 57 JOB *ci_curOpt; /* most recent options anal. for the circuit */ 58 char *ci_last_an; /* name of last analysis run */ 59 60 int ci_dicos; /* index to the numparam dicoS structure 61 for this circuit */ 62 struct pt_temper *modtlist; /* all expressions with 'temper' 63 in .model lines */ 64 struct pt_temper *devtlist; /* all expressions with 'temper' 65 in device instantiation lines */ 66 67 FTESTATistics *FTEstats; /* Statistics for the front end */ 68 } ; 69 70 71 #define mylog10(xx) (((xx) > 0.0) ? log10(xx) : (- log10(HUGE))) 72 73 #include "ngspice/fteext.h" 74 75 #endif 76