int ses_loop_function(ScfEfunction* f, scf_vector_t* loops);
int ses_steps_analyse(ScfEfunction* f, int64_t ns, int64_t count);
-void __ses_path_split_i(ses_path_t* path, ScfEpin* p0, ScfEpin* p1, ScfEline* el, double* a, double* ja);
+void __ses_path_split_i(ses_path_t* path, ScfEpin* p0, ScfEpin* p1, double la, double jla, double* a, double* ja);
void __ses_path_dr (ScfEpin* p0, ScfEpin* p1, ScfEpin* p);
static inline void vertical(int* px, int* py, int dx, int dy, int d)
#include"ses_core.h"
-void __ses_path_split_i(ses_path_t* path, ScfEpin* p0, ScfEpin* p1, ScfEline* el, double* a, double* ja)
+void __ses_path_split_i(ses_path_t* path, ScfEpin* p0, ScfEpin* p1, double la, double jla, double* a, double* ja)
{
ses_path_t* child;
ScfEpin* cp0;
if (cp0->lid != p0->lid || cp1->lid != p1->lid)
continue;
- ses_split_i(&child->a, &child->ja, el->a, el->ja, child->r, child->jr, r, jr);
+ ses_split_i(&child->a, &child->ja, la, jla, child->r, child->jr, r, jr);
*a -= child->a;
*ja -= child->ja;
cp1->jdr -= child->jr;
scf_loge("j: %d, c%ldp%ld--c%ldp%ld, v: %lg + j%lg, child->r: %lg + j%lg, child->a: %lg + j%lg, el->a: %lg + j%lg, cp1->dr: %lg + j%lg\n",
- j, cp0->cid, cp0->id, cp1->cid, cp1->id, v, jv, child->r, child->jr, child->a, child->ja, el->a, el->ja, cp1->dr, cp1->jdr);
+ j, cp0->cid, cp0->id, cp1->cid, cp1->id, v, jv, child->r, child->jr, child->a, child->ja, la, jla, cp1->dr, cp1->jdr);
}
}
el->aconst = 1;
if (path->childs)
- __ses_path_split_i(path, p, p1, el, &p->a, &p->ja);
+ __ses_path_split_i(path, p, p1, el->a, el->ja, &p->a, &p->ja);
__ses_path_dr(p, p1, p);
p->ja = el->ja;
if (path->childs)
- __ses_path_split_i(path, p0, p, el, &p->a, &p->ja);
+ __ses_path_split_i(path, p0, p, el->a, el->ja, &p->a, &p->ja);
__ses_path_dr(p0, p, p);
if (path->childs) {
- __ses_path_split_i(path, p0, pb, el, &p->a, &p->ja);
- __ses_path_split_i(path, pb, p1, el, &pb->a, &pb->ja);
+ __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;
p->ja = el->ja;
if (path->childs)
- __ses_path_split_i(path, p0, pc, el, &p->a, &p->ja);
+ __ses_path_split_i(path, p0, pc, el->a, el->ja, &p->a, &p->ja);
else {
p0->a = el->a;
p0->ja = el->ja;