double sr;
double jsr;
- for (i = 1; i < path->pins->size - 1; i++) {
- pb = path->pins->data[i];
-
- el = f->elines [pb->lid];
- c = f->components[pb->cid];
-
- if (!el->vconst)
- continue;
-
- if (SCF_EDA_Transistor != c->type)
- continue;
-
- pb->v = el->v;
- pb->jv = el->jv;
-
- if (SCF_EDA_Transistor_B != pb->id)
- continue;
-
- p = path->pins->data[i - 1];
-
- v = p0->v - pb->v;
- jv = p0->jv - pb->jv;
-
- pr = p->pr - p0->pr;
- jpr = p->jpr - p0->jpr;
-
- sr = p->sr - p0->sr;
- jsr = p->jsr - p0->jsr;
-
- ses_ur_i(&el->a, &el->ja, v, jv, pr, jpr);
-
- pb->a = el->a;
- pb->ja = el->ja;
-
- p->v = el->v;
- p->jv = el->jv;
- p->a = el->a;
- p->ja = el->ja;
-
- el->aconst = 1;
-
- if (path->childs) {
-
- __ses_path_split_i(path, p0, pb, el->a, el->ja, &p->a, &p->ja);
- __ses_path_split_i(path, pb, p1, el->a, el->ja, &pb->a, &pb->ja);
-
- } else {
- p0->a = el->a;
- p0->ja = el->ja;
- }
-
- __ses_path_dr(p, p1, pb);
-
- scf_loge("i: %d, c%ldp%ld--c%ldp%ld, v: %lg + j%lg, pb->v: %lg + j%lg, pb->a: %lg + j%lg, pr: %lg + j%lg, sr: %lg + j%lg, pb->dr: %lg + j%lg\n",
- i, p0->cid, p0->id, pb->cid, pb->id, v, jv, pb->v, pb->jv, pb->a, pb->ja, pr, jpr, sr, jsr, pb->dr, pb->jdr);
-
- pc = c->pins[SCF_EDA_Transistor_C];
- pe = c->pins[SCF_EDA_Transistor_E];
-
- pc->a = pc->hfe * pb->a;
- pc->ja = pc->hfe * pb->ja;
-
- pe->a = pc->a + pb->a;
- pe->ja = pc->ja + pb->ja;
-
- pb->aconst = 1;
- pc->aconst = 1;
- pe->aconst = 1;
-
- scf_loge("i: %d, c%ldp%ld, pc->a: %lg + j%lg\n", i, pc->cid, pc->id, pc->a, pc->ja);
- scf_loge("i: %d, c%ldp%ld, pe->a: %lg + j%lg\n", i, pe->cid, pe->id, pe->a, pe->ja);
- }
-
for (i = 1; i < path->pins->size - 1; i++) {
pc = path->pins->data[i];