400 |
|
for (newmig = from_rbf->ejl; newmig != NULL; |
401 |
|
newmig = nextedge(from_rbf,newmig)) |
402 |
|
if (newmig->rbfv[1] == to_rbf) |
403 |
+ |
{fprintf(stderr, "Edge already exists!\n"); |
404 |
|
return(NULL); |
405 |
+ |
} |
406 |
|
/* else allocate */ |
407 |
|
#ifdef DEBUG |
408 |
|
fprintf(stderr, "Building path from (theta,phi) (%.1f,%.1f) ", |
564 |
|
double bestd; |
565 |
|
int n; |
566 |
|
|
567 |
+ |
|
568 |
|
if (dsf_list == NULL) |
569 |
|
return; /* XXX should be error? */ |
570 |
|
near_rbf = dsf_list; |
609 |
|
memcpy(mir_rbf, near_rbf, n); |
610 |
|
mir_rbf->ord = near_rbf->ord - 1; /* not used, I think */ |
611 |
|
mir_rbf->next = NULL; |
612 |
+ |
mir_rbf->ejl = NULL; |
613 |
|
rev_rbf_symmetry(mir_rbf, MIRROR_X|MIRROR_Y); |
614 |
|
nprocs = 1; /* compute migration matrix */ |
615 |
< |
if (mig_list != create_migration(mir_rbf, near_rbf)) |
615 |
> |
if (create_migration(mir_rbf, near_rbf) == NULL) |
616 |
|
exit(1); /* XXX should never happen! */ |
617 |
|
/* interpolate normal dist. */ |
618 |
|
rbf = e_advect_rbf(mig_list, norm_vec, 2*near_rbf->nrbf); |