⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cktpzsetup.c

📁 支持数字元件仿真的SPICE插件
💻 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 + -