diff --git a/src/frontend/spiceif.c b/src/frontend/spiceif.c index aa11cfc49..a3058a71b 100644 --- a/src/frontend/spiceif.c +++ b/src/frontend/spiceif.c @@ -61,6 +61,8 @@ CDHW*/ #ifdef XSPICE +#include "ngspice/evt.h" +#include "ngspice/enh.h" /* gtri - add - wbk - 11/9/90 - include MIF function prototypes */ #include "ngspice/mifproto.h" /* gtri - end - wbk - 11/9/90 */ diff --git a/src/include/ngspice/cktdefs.h b/src/include/ngspice/cktdefs.h index 06d21e0f0..b7de8fb70 100644 --- a/src/include/ngspice/cktdefs.h +++ b/src/include/ngspice/cktdefs.h @@ -11,8 +11,8 @@ /* gtri - evt - wbk - 5/20/91 - add event-driven and enhancements data */ #ifdef XSPICE -#include "ngspice/evt.h" -#include "ngspice/enh.h" +#include "ngspice/evttypes.h" +#include "ngspice/enhtypes.h" #endif /* gtri - evt - wbk - 5/20/91 - add event-driven and enhancements data */ diff --git a/src/include/ngspice/enh.h b/src/include/ngspice/enh.h index 2c097a4f5..9daf34bfb 100644 --- a/src/include/ngspice/enh.h +++ b/src/include/ngspice/enh.h @@ -41,6 +41,7 @@ NON-STANDARD FEATURES #include "ngspice/miftypes.h" +#include "ngspice/enhtypes.h" #include "ngspice/fteinp.h" /* @@ -52,53 +53,43 @@ module needed to recompile after additions are made here. */ -typedef enum { - ENH_ANALOG_NODE, /* An analog node */ - ENH_EVENT_NODE, /* An event-driven node */ - ENH_ANALOG_BRANCH, /* A branch current */ - ENH_ANALOG_INSTANCE, /* An analog instance */ - ENH_EVENT_INSTANCE, /* An event-driven instance */ - ENH_HYBRID_INSTANCE, /* A hybrid (analog/event-driven) instance */ -} Enh_Conv_Source_t; - - -typedef struct { +struct Enh_Bkpt { double current; /* The current dynamic breakpoint time */ double last; /* The last used dynamic breakpoint time */ -} Enh_Bkpt_t; +}; -typedef struct { +struct Enh_Ramp { double ramptime; /* supply ramping time specified on .options */ -} Enh_Ramp_t; +}; -typedef struct { +struct Enh_Conv_Debug { Mif_Boolean_t last_NIiter_call; /* True if this is the last call to NIiter() */ Mif_Boolean_t report_conv_probs; /* True if conv test functions should send debug info */ -} Enh_Conv_Debug_t; +}; -typedef struct { +struct Enh_Conv_Limit { Mif_Boolean_t enabled; /* True if convergence limiting enabled on code models */ double abs_step; /* Minimum limiting step size */ double step; /* Fractional step amount */ -} Enh_Conv_Limit_t; +}; -typedef struct { +struct Enh_Rshunt { Mif_Boolean_t enabled; /* True if rshunt option used */ double gshunt; /* 1.0 / rshunt */ int num_nodes; /* Number of nodes in matrix */ double **diag; /* Pointers to matrix diagonals */ -} Enh_Rshunt_t; +}; -typedef struct { +struct Enh_Ckt_Data { Enh_Bkpt_t breakpoint; /* Data used by dynamic breakpoints */ Enh_Ramp_t ramp; /* New options added to simulator */ Enh_Conv_Debug_t conv_debug; /* Convergence debug info dumping data */ Enh_Conv_Limit_t conv_limit; /* Convergence limiting info */ Enh_Rshunt_t rshunt_data; /* Shunt conductance from nodes to ground */ -} Enh_Ckt_Data_t; +}; diff --git a/src/include/ngspice/enhtypes.h b/src/include/ngspice/enhtypes.h new file mode 100644 index 000000000..514c5adce --- /dev/null +++ b/src/include/ngspice/enhtypes.h @@ -0,0 +1,23 @@ +#ifndef ngspice_ENHTYPES_H +#define ngspice_ENHTYPES_H + + +typedef enum { + ENH_ANALOG_NODE, /* An analog node */ + ENH_EVENT_NODE, /* An event-driven node */ + ENH_ANALOG_BRANCH, /* A branch current */ + ENH_ANALOG_INSTANCE, /* An analog instance */ + ENH_EVENT_INSTANCE, /* An event-driven instance */ + ENH_HYBRID_INSTANCE, /* A hybrid (analog/event-driven) instance */ +} Enh_Conv_Source_t; + + +typedef struct Enh_Bkpt Enh_Bkpt_t; +typedef struct Enh_Ramp Enh_Ramp_t; +typedef struct Enh_Conv_Debug Enh_Conv_Debug_t; +typedef struct Enh_Conv_Limit Enh_Conv_Limit_t; +typedef struct Enh_Rshunt Enh_Rshunt_t; +typedef struct Enh_Ckt_Data Enh_Ckt_Data_t; + + +#endif diff --git a/src/include/ngspice/evt.h b/src/include/ngspice/evt.h index 546abb6fe..1581369e4 100644 --- a/src/include/ngspice/evt.h +++ b/src/include/ngspice/evt.h @@ -46,6 +46,7 @@ NON-STANDARD FEATURES #include "ngspice/mifdefs.h" #include "ngspice/mifcmdat.h" #include "ngspice/miftypes.h" +#include "ngspice/evttypes.h" @@ -54,31 +55,31 @@ NON-STANDARD FEATURES /* ************** */ -typedef struct Evt_Output_Info_s { - struct Evt_Output_Info_s *next; /* the next in the linked list */ +struct Evt_Output_Info { + Evt_Output_Info_t *next; /* the next in the linked list */ int node_index; /* index into node info struct for this output */ int output_subindex; /* index into output data in node data struct */ int inst_index; /* Index of instance the port is on */ int port_index; /* Index of port the output corresponds to */ -} Evt_Output_Info_t; +}; -typedef struct Evt_Port_Info_s { - struct Evt_Port_Info_s *next; /* the next in the linked list of node info */ +struct Evt_Port_Info { + Evt_Port_Info_t *next; /* the next in the linked list of node info */ int inst_index; /* Index of instance the port is on */ int node_index; /* index of node the port is connected to */ char *node_name; /* name of node port is connected to */ char *inst_name; /* instance name */ char *conn_name; /* connection name on instance */ int port_num; /* port number of instance connector */ -} Evt_Port_Info_t; +}; -typedef struct Evt_Inst_Index_s { - struct Evt_Inst_Index_s *next; /* the next in the linked list */ +struct Evt_Inst_Index { + Evt_Inst_Index_t *next; /* the next in the linked list */ int index; /* the value of the index */ -} Evt_Inst_Index_t; +}; -typedef struct Evt_Node_Info_s { - struct Evt_Node_Info_s *next; /* the next in the linked list */ +struct Evt_Node_Info { + Evt_Node_Info_t *next; /* the next in the linked list */ char *name; /* Name of node in deck */ int udn_index; /* Index of the node type */ Mif_Boolean_t invert; /* True if need to make inverted copy */ @@ -86,14 +87,14 @@ typedef struct Evt_Node_Info_s { int num_outputs; /* Number of outputs connected to this node */ int num_insts; /* The number of insts receiving node as input */ Evt_Inst_Index_t *inst_list; /* Linked list of indexes of these instances */ -} Evt_Node_Info_t; +}; -typedef struct Evt_Inst_Info_s { - struct Evt_Inst_Info_s *next; /* the next in the linked list of node info */ +struct Evt_Inst_Info { + Evt_Inst_Info_t *next; /* the next in the linked list of node info */ MIFinstance *inst_ptr; /* Pointer to MIFinstance struct for this instance */ -} Evt_Inst_Info_t; +}; -typedef struct { +struct Evt_Info { Evt_Inst_Info_t *inst_list; /* static info about event/hybrid instances */ Evt_Node_Info_t *node_list; /* static info about event nodes */ Evt_Port_Info_t *port_list; /* static info about event ports */ @@ -103,7 +104,7 @@ typedef struct { Evt_Node_Info_t **node_table; /* vector of pointers to elements in node_list */ Evt_Port_Info_t **port_table; /* vector of pointers to elements in port_list */ Evt_Output_Info_t **output_table; /* vector of pointers to elements in output_list */ -} Evt_Info_t; +}; @@ -118,13 +119,13 @@ typedef struct { -typedef struct Evt_Inst_Event_s { - struct Evt_Inst_Event_s *next; /* the next in the linked list */ +struct Evt_Inst_Event { + Evt_Inst_Event_t *next; /* the next in the linked list */ double event_time; /* Time for this event to happen */ double posted_time; /* Time at which event was entered in queue */ -} Evt_Inst_Event_t; +}; -typedef struct { +struct Evt_Inst_Queue { Evt_Inst_Event_t **head; /* Beginning of linked lists */ Evt_Inst_Event_t ***current; /* Beginning of pending events */ Evt_Inst_Event_t ***last_step; /* Values of 'current' at last accepted timepoint */ @@ -140,33 +141,33 @@ typedef struct { int num_to_call; /* Count of number of instances that need to be called */ int *to_call_index; /* Indexes of instances to be called */ Mif_Boolean_t *to_call; /* Flags used to prevent multiple entries */ -} Evt_Inst_Queue_t; +}; -typedef struct { +struct Evt_Node_Queue { int num_to_eval; /* Count of number of nodes that need to be evaluated */ int *to_eval_index; /* Indexes of nodes to be evaluated */ Mif_Boolean_t *to_eval; /* Flags used to prevent multiple entries */ int num_changed; /* Count of number of nodes that changed */ int *changed_index; /* Indexes of nodes that changed */ Mif_Boolean_t *changed; /* Flags used to prevent multiple entries */ -} Evt_Node_Queue_t; +}; -typedef struct Evt_Output_Event_s { - struct Evt_Output_Event_s *next; /* the next in the linked list */ +struct Evt_Output_Event { + Evt_Output_Event_t *next; /* the next in the linked list */ double event_time; /* Time for this event to happen */ double posted_time; /* Time at which event was entered in queue */ Mif_Boolean_t removed; /* True if event has been deactivated */ double removed_time; /* Time at which event was deactivated */ void *value; /* The delayed value sent to this output */ -} Evt_Output_Event_t; +}; -typedef struct { +struct Evt_Output_Queue { Evt_Output_Event_t **head; /* Beginning of linked lists */ Evt_Output_Event_t ***current; /* Beginning of pending events */ Evt_Output_Event_t ***last_step; /* Values of 'current' at last accepted timepoint */ @@ -182,16 +183,16 @@ typedef struct { int num_changed; /* Count of number of outputs that changed */ int *changed_index; /* Indexes of outputs that changed */ Mif_Boolean_t *changed; /* Flags used to prevent multiple entries */ -} Evt_Output_Queue_t; +}; -typedef struct { +struct Evt_Queue { Evt_Inst_Queue_t inst; /* dynamic queue for instances */ Evt_Node_Queue_t node; /* dynamic queue of changing nodes */ Evt_Output_Queue_t output; /* dynamic queue of delayed outputs */ -} Evt_Queue_t; +}; @@ -203,16 +204,16 @@ typedef struct { -typedef struct Evt_Node_s { - struct Evt_Node_s *next; /* pointer to next in linked list */ +struct Evt_Node { + Evt_Node_t *next; /* pointer to next in linked list */ Mif_Boolean_t op; /* true if computed from op analysis */ double step; /* DC step or time at which data was computed */ void **output_value; /* Array of outputs posted to this node */ void *node_value; /* Resultant computed from output values */ void *inverted_value; /* Inverted copy of node_value */ -} Evt_Node_t; +}; -typedef struct { +struct Evt_Node_Data { Evt_Node_t **head; /* Beginning of linked lists */ Evt_Node_t ***tail; /* Location of last item added to list */ Evt_Node_t ***last_step; /* 'tail' at last accepted timepoint */ @@ -223,28 +224,28 @@ typedef struct { Evt_Node_t *rhs; /* Location where model outputs are placed */ Evt_Node_t *rhsold; /* Location where model inputs are retrieved */ double *total_load; /* Location where total load inputs are retrieved */ -} Evt_Node_Data_t; +}; -typedef struct Evt_State_s { - struct Evt_State_s *next; /* Pointer to next state */ - struct Evt_State_s *prev; /* Pointer to previous state */ +struct Evt_State { + Evt_State_t *next; /* Pointer to next state */ + Evt_State_t *prev; /* Pointer to previous state */ double step; /* Time at which state was assigned (0 for DC) */ void *block; /* Block of memory holding all states on inst */ -} Evt_State_t; +}; -typedef struct Evt_State_Desc_s { - struct Evt_State_Desc_s *next; /* Pointer to next description */ +struct Evt_State_Desc { + Evt_State_Desc_t *next; /* Pointer to next description */ int tag; /* Tag for this state */ int size; /* Size of this state */ int offset; /* Offset of this state into the state block */ -} Evt_State_Desc_t; +}; -typedef struct { +struct Evt_State_Data { Evt_State_t **head; /* Beginning of linked lists */ Evt_State_t ***tail; /* Location of last item added to list */ Evt_State_t ***last_step; /* 'tail' at last accepted timepoint */ @@ -254,21 +255,21 @@ typedef struct { Mif_Boolean_t *modified; /* Flags used to prevent multiple entries */ int *total_size; /* Total bytes for all states allocated */ Evt_State_Desc_t **desc; /* Lists of description structures */ -} Evt_State_Data_t; +}; -typedef struct Evt_Msg_s { - struct Evt_Msg_s *next; /* Pointer to next state */ +struct Evt_Msg { + Evt_Msg_t *next; /* Pointer to next state */ Mif_Boolean_t op; /* true if output from op analysis */ double step; /* DC step or time at which message was output */ char *text; /* The value of the message text */ int port_index; /* The index of the port from which the message came */ -} Evt_Msg_t; +}; -typedef struct { +struct Evt_Msg_Data { Evt_Msg_t **head; /* Beginning of linked lists */ Evt_Msg_t ***tail; /* Location of last item added to list */ Evt_Msg_t ***last_step; /* 'tail' at last accepted timepoint */ @@ -276,26 +277,26 @@ typedef struct { int num_modified; /* Number modified since last accepted timepoint */ int *modified_index; /* List of indexes modified */ Mif_Boolean_t *modified; /* Flags used to prevent multiple entries */ -} Evt_Msg_Data_t; +}; -typedef struct { +struct Evt_Statistic { int op_alternations; /* Total alternations between event and analog */ int op_load_calls; /* Total load calls in DCOP analysis */ int op_event_passes; /* Total passes through event iteration loop */ int tran_load_calls; /* Total inst calls in transient analysis */ int tran_time_backups; /* Number of transient timestep cuts */ -} Evt_Statistic_t; +}; -typedef struct { +struct Evt_Data { Evt_Node_Data_t *node; /* dynamic event solution vector */ Evt_State_Data_t *state; /* dynamic event instance state data */ Evt_Msg_Data_t *msg; /* dynamic event message data */ Evt_Statistic_t *statistics; /* Statistics for events, etc. */ -} Evt_Data_t; +}; @@ -304,14 +305,14 @@ typedef struct { /* **************** */ -typedef struct { +struct Evt_Count { int num_insts; /* number of event/hybrid instances parsed */ int num_hybrids; /* number of hybrids parsed */ int num_hybrid_outputs; /* number of outputs on all hybrids parsed */ int num_nodes; /* number of event nodes parsed */ int num_ports; /* number of event ports parsed */ int num_outputs; /* number of event outputs parsed */ -} Evt_Count_t; +}; @@ -320,10 +321,10 @@ typedef struct { /* **************** */ -typedef struct { +struct Evt_Limit { int max_event_passes; /* maximum loops in attempting convergence of event nodes */ int max_op_alternations; /* maximum loops through event/analog alternation */ -} Evt_Limit_t; +}; /* ************** */ @@ -331,14 +332,14 @@ typedef struct { /* ************** */ -typedef struct { +struct Evt_Job { int num_jobs; /* Number of jobs run */ char **job_name; /* Names of different jobs */ Evt_Node_Data_t **node_data; /* node_data for different jobs */ Evt_State_Data_t **state_data; /* state_data for different jobs */ Evt_Msg_Data_t **msg_data; /* messages for different jobs */ Evt_Statistic_t **statistics; /* Statistics for different jobs */ -} Evt_Job_t; +}; @@ -347,16 +348,16 @@ typedef struct { /* ***************** */ -typedef struct { +struct Evt_Option { Mif_Boolean_t op_alternate; /* Alternate analog/event solutions in OP analysis */ -} Evt_Option_t; +}; /* ****************** */ /* Main evt structure */ /* ****************** */ -typedef struct { +struct Evt_Ckt_Data { Evt_Count_t counts; /* Number of insts, nodes, etc. */ Evt_Info_t info; /* Static info about insts, etc. */ Evt_Queue_t queue; /* Dynamic queued events */ @@ -364,7 +365,7 @@ typedef struct { Evt_Limit_t limits; /* Iteration limits, etc. */ Evt_Job_t jobs; /* Data held from multiple job runs */ Evt_Option_t options; /* Data input on .options cards */ -} Evt_Ckt_Data_t; +}; diff --git a/src/include/ngspice/evtproto.h b/src/include/ngspice/evtproto.h index 28ce5b871..813813a6d 100644 --- a/src/include/ngspice/evtproto.h +++ b/src/include/ngspice/evtproto.h @@ -42,6 +42,7 @@ NON-STANDARD FEATURES #include "ngspice/cktdefs.h" #include "ngspice/cpstd.h" +#include "ngspice/evt.h" #include "ngspice/mifdefs.h" #include "ngspice/ipc.h" diff --git a/src/include/ngspice/evttypes.h b/src/include/ngspice/evttypes.h new file mode 100644 index 000000000..c6a59662f --- /dev/null +++ b/src/include/ngspice/evttypes.h @@ -0,0 +1,33 @@ +#ifndef ngspice_EVTTYPES_H +#define ngspice_EVTTYPES_H + + +typedef struct Evt_Output_Info Evt_Output_Info_t; +typedef struct Evt_Port_Info Evt_Port_Info_t; +typedef struct Evt_Inst_Index Evt_Inst_Index_t; +typedef struct Evt_Node_Info Evt_Node_Info_t; +typedef struct Evt_Inst_Info Evt_Inst_Info_t; +typedef struct Evt_Info Evt_Info_t; +typedef struct Evt_Inst_Event Evt_Inst_Event_t; +typedef struct Evt_Inst_Queue Evt_Inst_Queue_t; +typedef struct Evt_Node_Queue Evt_Node_Queue_t; +typedef struct Evt_Output_Event Evt_Output_Event_t; +typedef struct Evt_Output_Queue Evt_Output_Queue_t; +typedef struct Evt_Queue Evt_Queue_t; +typedef struct Evt_Node Evt_Node_t; +typedef struct Evt_Node_Data Evt_Node_Data_t; +typedef struct Evt_State Evt_State_t; +typedef struct Evt_State_Desc Evt_State_Desc_t; +typedef struct Evt_State_Data Evt_State_Data_t; +typedef struct Evt_Msg Evt_Msg_t; +typedef struct Evt_Msg_Data Evt_Msg_Data_t; +typedef struct Evt_Statistic Evt_Statistic_t; +typedef struct Evt_Data Evt_Data_t; +typedef struct Evt_Count Evt_Count_t; +typedef struct Evt_Limit Evt_Limit_t; +typedef struct Evt_Job Evt_Job_t; +typedef struct Evt_Option Evt_Option_t; +typedef struct Evt_Ckt_Data Evt_Ckt_Data_t; + + +#endif diff --git a/src/spicelib/analysis/acan.c b/src/spicelib/analysis/acan.c index 5aa942b77..3a2e79a9e 100644 --- a/src/spicelib/analysis/acan.c +++ b/src/spicelib/analysis/acan.c @@ -11,6 +11,8 @@ Modified 2001: AlansFixes #include "ngspice/sperror.h" #ifdef XSPICE +#include "ngspice/evt.h" +#include "ngspice/enh.h" /* gtri - add - wbk - 12/19/90 - Add headers */ #include "ngspice/mif.h" #include "ngspice/evtproto.h" diff --git a/src/spicelib/analysis/cktdest.c b/src/spicelib/analysis/cktdest.c index fad40d5ea..f7fea2805 100644 --- a/src/spicelib/analysis/cktdest.c +++ b/src/spicelib/analysis/cktdest.c @@ -16,6 +16,7 @@ Author: 1985 Thomas L. Quarles #include "ngspice/sperror.h" #ifdef XSPICE +#include "ngspice/evt.h" static int evt_dest(Evt_Ckt_Data_t *evt); #endif diff --git a/src/spicelib/analysis/cktload.c b/src/spicelib/analysis/cktload.c index 62b6f2a47..b56f7e255 100644 --- a/src/spicelib/analysis/cktload.c +++ b/src/spicelib/analysis/cktload.c @@ -19,6 +19,7 @@ Modified: 2000 AlansFixes #include "ngspice/sperror.h" #ifdef XSPICE +#include "ngspice/enh.h" /* gtri - add - wbk - 11/26/90 - add include for MIF global data */ #include "ngspice/mif.h" /* gtri - end - wbk - 11/26/90 */ diff --git a/src/spicelib/analysis/cktop.c b/src/spicelib/analysis/cktop.c index 489ebd8d8..f82e2a4a3 100644 --- a/src/spicelib/analysis/cktop.c +++ b/src/spicelib/analysis/cktop.c @@ -10,6 +10,10 @@ Modified: 2005 Paolo Nenzi - Restructured #include "ngspice/devdefs.h" #include "ngspice/sperror.h" +#ifdef XSPICE +#include "ngspice/enh.h" +#endif + static int dynamic_gmin (CKTcircuit *, long int, long int, int); static int spice3_gmin (CKTcircuit *, long int, long int, int); diff --git a/src/spicelib/analysis/cktsetup.c b/src/spicelib/analysis/cktsetup.c index a95ca6f00..220c24632 100644 --- a/src/spicelib/analysis/cktsetup.c +++ b/src/spicelib/analysis/cktsetup.c @@ -15,6 +15,10 @@ Author: 1985 Thomas L. Quarles #include "ngspice/devdefs.h" #include "ngspice/sperror.h" +#ifdef XSPICE +#include "ngspice/enh.h" +#endif + #ifdef USE_OMP #include #include "ngspice/cpextern.h" diff --git a/src/spicelib/analysis/cktsopt.c b/src/spicelib/analysis/cktsopt.c index 22249abcd..31851c822 100644 --- a/src/spicelib/analysis/cktsopt.c +++ b/src/spicelib/analysis/cktsopt.c @@ -21,6 +21,8 @@ Modified: 2000 AlansFixes #include "analysis.h" #ifdef XSPICE +#include "ngspice/evt.h" +#include "ngspice/enh.h" /* gtri - begin - wbk - add includes */ #include "ngspice/mif.h" /* gtri - end - wbk - add includes */ diff --git a/src/spicelib/analysis/dcpss.c b/src/spicelib/analysis/dcpss.c index a35cf692c..9b699deea 100644 --- a/src/spicelib/analysis/dcpss.c +++ b/src/spicelib/analysis/dcpss.c @@ -17,6 +17,7 @@ #include "ngspice/miftypes.h" #include "ngspice/evt.h" +#include "ngspice/enh.h" #include "ngspice/mif.h" #include "ngspice/evtproto.h" #include "ngspice/ipctiein.h" diff --git a/src/spicelib/analysis/dctran.c b/src/spicelib/analysis/dctran.c index 660329d3b..e318c409f 100644 --- a/src/spicelib/analysis/dctran.c +++ b/src/spicelib/analysis/dctran.c @@ -24,6 +24,7 @@ extern struct dbcomm *dbs; #include "ngspice/miftypes.h" #include "ngspice/evt.h" +#include "ngspice/enh.h" #include "ngspice/mif.h" #include "ngspice/evtproto.h" #include "ngspice/ipctiein.h" diff --git a/src/spicelib/analysis/dctrcurv.c b/src/spicelib/analysis/dctrcurv.c index f358baa27..ebde8055d 100644 --- a/src/spicelib/analysis/dctrcurv.c +++ b/src/spicelib/analysis/dctrcurv.c @@ -15,6 +15,7 @@ Modified: 1999 Paolo Nenzi #include "ngspice/sperror.h" #ifdef XSPICE +#include "ngspice/evt.h" /* gtri - add - wbk - 12/19/90 - Add headers */ #include "ngspice/mif.h" #include "ngspice/evtproto.h" diff --git a/src/spicelib/devices/cktinit.c b/src/spicelib/devices/cktinit.c index 4d1f090fa..0d35ebd31 100644 --- a/src/spicelib/devices/cktinit.c +++ b/src/spicelib/devices/cktinit.c @@ -15,6 +15,8 @@ Modifed: 2000 AlansFixes #include "dev.h" #ifdef XSPICE +#include "ngspice/evt.h" +#include "ngspice/enh.h" /* gtri - add - wbk - 11/26/90 - add include for MIF global data */ #include "ngspice/mif.h" /* gtri - end - wbk - 11/26/90 */ diff --git a/src/xspice/cm/cm.c b/src/xspice/cm/cm.c index daba3020e..b57ff2baf 100644 --- a/src/xspice/cm/cm.c +++ b/src/xspice/cm/cm.c @@ -49,6 +49,7 @@ NON-STANDARD FEATURES =========================================================================== */ #include "ngspice/ngspice.h" #include "ngspice/cm.h" +#include "ngspice/enh.h" #include "ngspice/mif.h" #include "ngspice/cktdefs.h" //#include "util.h" diff --git a/src/xspice/evt/evtinit.c b/src/xspice/evt/evtinit.c index e11a33e75..84a67212b 100644 --- a/src/xspice/evt/evtinit.c +++ b/src/xspice/evt/evtinit.c @@ -45,6 +45,7 @@ NON-STANDARD FEATURES //#include "util.h" #include "ngspice/sperror.h" +#include "ngspice/evt.h" #include "ngspice/evtproto.h" diff --git a/src/xspice/evt/evtiter.c b/src/xspice/evt/evtiter.c index 7af61f42b..3930f2e50 100644 --- a/src/xspice/evt/evtiter.c +++ b/src/xspice/evt/evtiter.c @@ -46,6 +46,7 @@ NON-STANDARD FEATURES #include "ngspice/mif.h" #include "ngspice/evt.h" +#include "ngspice/enh.h" #include "ngspice/evtudn.h" #include "ngspice/evtproto.h" diff --git a/src/xspice/evt/evtop.c b/src/xspice/evt/evtop.c index 371bb7498..873d57868 100644 --- a/src/xspice/evt/evtop.c +++ b/src/xspice/evt/evtop.c @@ -47,6 +47,7 @@ NON-STANDARD FEATURES #include "ngspice/mif.h" #include "ngspice/evt.h" +#include "ngspice/enh.h" #include "ngspice/evtproto.h" #include "ngspice/evtudn.h" diff --git a/src/xspice/mif/mifconvt.c b/src/xspice/mif/mifconvt.c index cd9036377..3077d83af 100644 --- a/src/xspice/mif/mifconvt.c +++ b/src/xspice/mif/mifconvt.c @@ -50,6 +50,8 @@ NON-STANDARD FEATURES #include "ngspice/trandefs.h" #include +#include "ngspice/enh.h" + #include "ngspice/mifproto.h" #include "ngspice/mifparse.h" #include "ngspice/mifdefs.h" diff --git a/src/xspice/mif/mifload.c b/src/xspice/mif/mifload.c index ac93ed7b8..b1901fce3 100644 --- a/src/xspice/mif/mifload.c +++ b/src/xspice/mif/mifload.c @@ -52,6 +52,8 @@ NON-STANDARD FEATURES #include "ngspice/devdefs.h" #include "ngspice/sperror.h" +#include "ngspice/evt.h" + #include "ngspice/mifproto.h" #include "ngspice/mifparse.h" #include "ngspice/mifdefs.h" diff --git a/visualc/sharedspice.vcxproj b/visualc/sharedspice.vcxproj index 35e7c2139..1be1a5c07 100644 --- a/visualc/sharedspice.vcxproj +++ b/visualc/sharedspice.vcxproj @@ -331,7 +331,9 @@ + + diff --git a/visualc/vngspice-fftw.vcxproj b/visualc/vngspice-fftw.vcxproj index 78e8a00c6..6e0e82d11 100644 --- a/visualc/vngspice-fftw.vcxproj +++ b/visualc/vngspice-fftw.vcxproj @@ -948,7 +948,9 @@ lib /machine:x64 /def:..\..\fftw-3.3.4-dll64\libfftw3-3.def /out:$(IntDir)libfft + + diff --git a/visualc/vngspice.vcxproj b/visualc/vngspice.vcxproj index f66264509..f904d3e8c 100644 --- a/visualc/vngspice.vcxproj +++ b/visualc/vngspice.vcxproj @@ -914,7 +914,9 @@ + +