📄 miftypes.h
字号:
#ifndef MIFTYPES#define MIFTYPES/* ===========================================================================FILE MIFtypes.hMEMBER OF process XSPICECopyright 1991Georgia Tech Research CorporationAtlanta, Georgia 30332All Rights ReservedPROJECT A-8503AUTHORS 9/12/91 Bill KuhnMODIFICATIONS <date> <person name> <nature of modifications>SUMMARY This file contains typedefs shared by several header files in the MIF package.INTERFACES None.REFERENCED FILES None.NON-STANDARD FEATURES None.=========================================================================== *//* ***************************************************************************** */typedef int Mif_Boolean_t;#define MIF_FALSE 0#define MIF_TRUE 1typedef int Mif_Status_t;#define MIF_OK 0#define MIF_ERROR 1/*typedef enum { MIF_OK, MIF_ERROR,} Mif_Status_t;*//* ***************************************************************************** *//* * The type of call to a code model - analog or event-driven */typedef enum { MIF_ANALOG, /* Analog call */ MIF_EVENT_DRIVEN, /* Event-driven call */} Mif_Call_Type_t;/* * Analysis type enumerations */typedef enum { MIF_DC, /* A DC or DCOP analysis */ MIF_AC, /* A swept AC analysis */ MIF_TRAN, /* A transient analysis */} Mif_Analysis_t;/* * Port type enumerations */typedef enum { MIF_VOLTAGE, /* v - Single-ended voltage */ MIF_DIFF_VOLTAGE, /* vd - Differential voltage */ MIF_CURRENT, /* i - Single-ended current */ MIF_DIFF_CURRENT, /* id - Differential current */ MIF_VSOURCE_CURRENT, /* vnam - Voltage source current */ MIF_CONDUCTANCE, /* g - Single-ended VCIS */ MIF_DIFF_CONDUCTANCE, /* gd - Differential VCIS */ MIF_RESISTANCE, /* h - Single-ended ICVS */ MIF_DIFF_RESISTANCE, /* hd - Differential ICVS */ MIF_DIGITAL, /* d - Digital */ MIF_USER_DEFINED, /* <identifier> - Any user defined type */} Mif_Port_Type_t;/* * The direction of a connector */typedef enum { MIF_IN, /* Input only */ MIF_OUT, /* Output only */ MIF_INOUT, /* Input and output (e.g. g or h type) */} Mif_Dir_t;/* * The type of a parameter */typedef enum { MIF_BOOLEAN, MIF_INTEGER, MIF_REAL, MIF_COMPLEX, MIF_STRING,} Mif_Data_Type_t;/* * The type of a token */typedef enum { MIF_LARRAY_TOK, MIF_RARRAY_TOK, MIF_LCOMPLEX_TOK, MIF_RCOMPLEX_TOK, MIF_PERCENT_TOK, MIF_TILDE_TOK, MIF_STRING_TOK, MIF_NULL_TOK, MIF_NO_TOK,} Mif_Token_Type_t;/* * Type of controlled source */typedef enum { MIF_VCVS, MIF_VCIS, MIF_ICVS, MIF_ICIS,} Mif_Cntl_Src_Type_t;/* ***************************************************************************** *//* * Complex numbers */typedef struct { double real; double imag;} Mif_Complex_t;/* * Values of different types used by the load, ... routines */typedef union { Mif_Boolean_t bvalue; /* For digital node value */ int ivalue; /* For integer parameters */ double rvalue; /* For spice node values and real parameters */ Mif_Complex_t cvalue; /* For complex parameters */ char *svalue; /* For string parameters */ void *pvalue; /* For user defined nodes */} Mif_Value_t;/* * Values of different types used by the parser. Note that this is a structure * instead of a union because we need to do initializations in the ifspec.c files for * the models and unions cannot be initialized in any useful way in C * */typedef struct { Mif_Boolean_t bvalue; /* For boolean values */ int ivalue; /* For integer values */ double rvalue; /* For real values */ Mif_Complex_t cvalue; /* For complex values */ char *svalue; /* For string values */} Mif_Parse_Value_t;#endif /* MIFTYPES */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -