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

📄 cfunc.mod

📁 ngspice又一个电子CAD仿真软件代码.功能更全
💻 MOD
字号:
/* $Id: cfunc.mod,v 1.4 2005/08/23 08:21:02 pnenzi Exp $ */#define TS 0#define VS 1void ucm_real_to_v (ARGS){    double *t, *v;    double *in;    /*double out;*/    in = INPUT(in);    if(INIT) {        t = (void *) cm_event_alloc(TS, 2 * sizeof(double));        v = (void *) cm_event_alloc(VS, 2 * sizeof(double));        t = (void *) cm_event_get_ptr(TS, 0);        v = (void *) cm_event_get_ptr(VS, 0);        t[0] = -2.0;        t[1] = -1.0;        v[0] = *in;        v[1] = *in;    }    else {        t = (void *) cm_event_get_ptr(TS, 0);        v = (void *) cm_event_get_ptr(VS, 0);    }    switch(CALL_TYPE) {    case ANALOG:        if(TIME == 0.0) {            OUTPUT(out) = *in;            v[0] = *in;            v[1] = *in;        }        else {            if(TIME <= t[0])                OUTPUT(out) = v[0];            else if(TIME >= t[1])                OUTPUT(out) = v[1];            else {                OUTPUT(out) = v[0] + (v[1] - v[0]) *                                (TIME - t[0]) / (t[1] - t[0]);            }        }        break;    case EVENT:        if(TIME == 0.0)            return;        if(TIME >= t[1]) {            v[0] = v[1];            v[1] = *in;            t[0] = TIME;            t[1] = TIME + PARAM(transition_time);        }        else {            v[0] = v[0] + (v[1] - v[0]) *                                (TIME - t[0]) / (t[1] - t[0]);            v[1] = *in;            t[0] = TIME;            t[1] = TIME + PARAM(transition_time);        }        break;    }}

⌨️ 快捷键说明

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