1 /*************************************************************************** 2 JSPICE3 adaptation of Spice3e2 - Copyright (c) Stephen R. Whiteley 1992 3 Copyright 1990 Regents of the University of California. All rights reserved. 4 Authors: 1985 Wayne A. Christopher 5 1992 Stephen R. Whiteley 6 ****************************************************************************/ 7 8 /* 9 * General front end stuff. 10 */ 11 12 #ifndef FTEdefs_h 13 #define FTEdefs_h 14 15 #define DEF_WIDTH 80 /* Line printer width. */ 16 #define DEF_HEIGHT 60 /* Line printer height. */ 17 #define IPOINTMIN 20 /* When we start plotting incremental plots. */ 18 19 #include "ifsim.h" 20 #include "cpdefs.h" 21 #include "fteparse.h" 22 23 /* The curcuits that are currently available to the user. */ 24 25 struct circ { 26 char *ci_name; /* What the circuit can be called. */ 27 char *ci_ckt; /* The CKTcircuit structure. */ 28 char *ci_symtab; /* The INP symbol table. */ 29 char *ci_contblk; /* Name of control block for range analysis */ 30 struct line *ci_deck; /* The input deck. */ 31 struct line *ci_origdeck; /* The input deck, before subckt expansion. */ 32 struct line *ci_options; /* The .option cards from the deck... */ 33 struct variable *ci_vars; /* ... and the parsed versions. */ 34 bool ci_inprogress; /* We are in a break now. */ 35 bool ci_runonce; /* So com_run can to a reset if necessary... */ 36 wordlist *ci_commands; /* Things to do when this circuit is done. */ 37 struct circ *ci_next; /* The next in the list. */ 38 char *ci_nodes; /* ccom structs for the nodes... */ 39 char *ci_devices; /* and devices in the circuit. */ 40 char *ci_filename; /* Where this circuit came from. */ 41 char *ci_defTask; /* the default task for this circuit */ 42 char *ci_specTask; /* the special task for command line jobs */ 43 char *ci_curTask; /* the most recent task for this circuit */ 44 char *ci_defOpt; /* the default options anal. for this circuit */ 45 char *ci_specOpt; /* the special options anal. for command line jobs */ 46 char *ci_curOpt; /* the most recent options anal. for the circuit */ 47 } ; 48 49 struct subcirc { 50 char *sc_name; /* Whatever... */ 51 } ; 52 53 #define mylog10(xx) (((xx) > 0.0) ? log10(xx) : (- log10(HUGE))) 54 55 #define DCOPY(s,d,n) {int i = (n); \ 56 double *ps = (double*)(s); double *pd = (double*)(d); \ 57 while (i--) *pd++ = *ps++; } 58 59 #define CCOPY(s,d,n) {int i = (n); \ 60 complex *ps = (complex*)(s); complex *pd = (complex*)(d); \ 61 while (i--) *pd++ = *ps++; } 62 63 #include "fteext.h" 64 65 #endif /* FTEdefs_h */ 66