p->v = p0->v - v;
p->jv = p0->jv - jv;
+ scf_loge("path: %d, v: %lg + j%lg, p->sr: %lg + j%lg, a: %lg + j%lg\n", path->index, v, jv, p->sr, p->jsr, a, ja);
+
el = f->elines[p->lid];
el->v = p->v;
el->jv = p->jv;
- r += p->r;
- jr += p->jr;
+ r += p->r + p->dr;
+ jr += p->jr + p->jdr;
if (i & 0x1) {
c = f->components[p->cid];
ses_ur_i(&p->a, &p->ja, dv, jdv, r, jr);
- scf_loge("i: %d, c%ldp%ld, v: %lg + j%lg, p->v: %lg + j%lg, dv: %lg + j%lg, r: %lg + j%lg, a: %lg + j%lg\n\n", i, p->cid, p->id,
- v, jv, p->v, p->jv, dv, jdv, r, jr, p->a, p->ja);
+ scf_loge("i: %d, c%ldp%ld, dv: %lg + j%lg, p->v: %lg + j%lg, dv: %lg + j%lg, r: %lg + j%lg, a: %lg + j%lg\n\n", i, p->cid, p->id,
+ dv, jdv, p->v, p->jv, dv, jdv, r, jr, p->a, p->ja);
r = 0;
jr = 0;
+ if (path->childs) {
+ for (j = 0; j < path->childs->size; j++) {
+ child = path->childs->data[j];
+
+ cp0 = child->pins->data[0];
+ cp1 = child->pins->data[child->pins->size - 1];
+
+ if (p->lid == cp1->lid) {
+ a += child->a;
+ ja += child->ja;
+ }
+ }
+ }
+
} else {
dv = p->v;
jdv = p->jv;
- scf_loge("i: %d, c%ldp%ld, v: %lg + j%lg, p->v: %lg + j%lg\n", i, p->cid, p->id, v, jv, p->v, p->jv);
+ scf_loge("i: %d, c%ldp%ld, dv: %lg + j%lg, p->v: %lg + j%lg, a: %lg + j%lg\n", i, p->cid, p->id, dv, jdv, p->v, p->jv, a, ja);
}
}
printf("\n");