ngspice/src/include/mif.h

88 lines
2.2 KiB
C
Executable File

#ifndef MIF
#define MIF
/* ===========================================================================
FILE MIF.h
MEMBER OF process XSPICE
Copyright 1991
Georgia Tech Research Corporation
Atlanta, Georgia 30332
All Rights Reserved
PROJECT A-8503
AUTHORS
9/12/91 Bill Kuhn
MODIFICATIONS
<date> <person name> <nature of modifications>
SUMMARY
This file structure definitions global data used with the MIF package.
The global data structure is used to circumvent the need to modify
argument lists in existing SPICE 3C1 functions.
INTERFACES
None.
REFERENCED FILES
None.
NON-STANDARD FEATURES
None.
=========================================================================== */
#include "miftypes.h"
#include "mifdefs.h"
#include "cktdefs.h"
typedef struct {
Mif_Boolean_t init; /* TRUE if first call to model */
Mif_Boolean_t anal_init; /* TRUE if first call for this analysis type */
Mif_Analysis_t anal_type; /* The type of analysis being performed */
Mif_Call_Type_t call_type; /* Type of call to code model - analog or event-driven */
double evt_step; /* The current DC step or time in event analysis */
} Mif_Circuit_Info_t;
typedef struct {
double current; /* The current dynamic breakpoint time */
double last; /* The last used dynamic breakpoint time */
} Mif_Bkpt_Info_t;
typedef struct {
Mif_Boolean_t global; /* Set by .option to force all models to use auto */
Mif_Boolean_t local; /* Set by individual model to request auto partials */
} Mif_Auto_Partial_t;
typedef struct {
Mif_Circuit_Info_t circuit; /* Circuit data that will be needed by MIFload */
MIFinstance *instance; /* Current instance struct */
CKTcircuit *ckt; /* The ckt struct for the circuit */
char *errmsg; /* An error msg from a cm_... function */
Mif_Bkpt_Info_t breakpoint; /* Data used by dynamic breakpoints */
Mif_Auto_Partial_t auto_partial; /* Flags to enable auto partial computations */
} Mif_Info_t;
/* These are defined in mif.c */
extern int MIFiSize;
extern int MIFmSize;
extern Mif_Info_t g_mif_info;
#endif /* MIF */