📄 cktpzsetup.c
字号:
/* * Copyright (c) 1985 Thomas L. Quarles */ /* CKTpzSetup(ckt) * this is a driver program to iterate through all the various * pzSetup functions provided for the circuit elements in the * given circuit */#include "prefix.h"#include <stdio.h>#include "SMPdefs.h"#include "CKTdefs.h"#include "util.h"#include "DEVdefs.h"#include "SPerror.h"#include "suffix.h"RCSID("CKTpzSetup.c $Revision: 1.1 $ on $Date: 91/04/02 12:08:08 $")#define CKALLOC(var,size,type) \ if(size && (!(var =(type *)MALLOC((size)*sizeof(type))))){\ return(E_NOMEM);\}intCKTpzSetup(ckt) register CKTcircuit *ckt;{ extern SPICEdev *DEVices[]; register int i; int error; register SMPmatrix *matrix; ckt->CKTnumStates=0; matrix = ckt->CKTmatrix; for (i=0;i<DEVmaxnum;i++) { if ( ((*DEVices[i]).DEVpzSetup != NULL) && (ckt->CKThead[i] != NULL) ){ error = (*((*DEVices[i]).DEVpzSetup))(matrix,ckt->CKThead[i],ckt, &ckt->CKTnumStates); if(error) return(error); } } for(i=0;i<=ckt->CKTmaxOrder+1;i++) { CKALLOC(ckt->CKTstates[i],ckt->CKTnumStates,double); } if(ckt->CKTniState & NIUNINITIALIZED) { error = NIreinit(ckt); if(error) return(error); } return(OK);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -