cktfndm.c

来自「另一款电路设计软件」· C语言 代码 · 共 59 行

C
59
字号
/**********Copyright 1990 Regents of the University of California.  All rights reserved.Author: 1985 Thomas L. Quarles**********//* */#include "spice.h"#include <stdio.h>#include "cktdefs.h"#include "ifsim.h"#include "util.h"#include "sperror.h"#include "suffix.h"intCKTfndMod(ckt,type,modfast,modname)    GENERIC *ckt;    int *type;    GENERIC **modfast;    IFuid modname;{    register GENmodel *mods;    if(modfast != NULL && *(GENmodel **)modfast != NULL) {        /* already have  modfast, so nothing to do */        if(type) *type = (*(GENmodel **)modfast)->GENmodType;        return(OK);    }     if(*type >=0 && *type < DEVmaxnum) {        /* have device type, need to find model */        /* look through all models */        for(mods=((CKTcircuit *)ckt)->CKThead[*type]; mods != NULL ;                 mods = mods->GENnextModel) {            if(mods->GENmodName == modname) {                *modfast = (char *)mods;                return(OK);            }        }        return(E_NOMOD);    } else if(*type == -1) {        /* look through all types (UGH - worst case - take forever) */         for(*type = 0;*type <DEVmaxnum;(*type)++) {            /* need to find model & device */            /* look through all models */            for(mods=((CKTcircuit *)ckt)->CKThead[*type];mods!=NULL;                    mods = mods->GENnextModel) {                if(mods->GENmodName == modname) {                    *modfast = (char *)mods;                    return(OK);                }            }        }        *type = -1;        return(E_NOMOD);    } else return(E_BADPARM);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?