ses_ur_i(&p->a, &p->ja, dv, jdv, r, jr);
+ p2 = path->pins->data[i - 1];
+ p2->a = p->a;
+ p2->ja = p->ja;
+
if (path->childs) {
for (j = 0; j < path->childs->size; j++) {
child = path->childs->data[j];
double v = p0->v - p1->v;
double jv = p0->jv - p1->jv;
- scf_logw("path: %d, c%ldp%ld--c%ldp%ld, v: %lg, p0->v: %lg, p1->v: %lg, n_diodes: %d\n",
- path->index, p0->cid, p0->id, p1->cid, p1->id, v, p0->v, p1->v, path->n_diodes);
+ int ret = __ses_path_va(f, path, changed);
+ if (ret < 0)
+ return ret;
- return __ses_path_va(f, path, changed);
+ scf_logw("path: %d, c%ldp%ld--c%ldp%ld, v: %lg, p0->v: %lg, p1->v: %lg, n_diodes: %d, p0->a: %lg, p1->a: %lg\n",
+ path->index, p0->cid, p0->id, p1->cid, p1->id, v, p0->v, p1->v, path->n_diodes, p0->a, p1->a);
+
+ return 0;
}
static int ses_path_va_bridge(ScfEfunction* f, ses_path_t* path, int* changed)