start = clock();
#endif
QuadTree_get_supernodes(qt, ctrl->bh, &(x[dim*i]), i, &nsuper, &nsupermax,
- ¢er, &supernode_wgts, &distances, &counts, flag);
+ ¢er, &supernode_wgts, &distances, &counts);
#ifdef TIME
end = clock();
#endif
counts_avg += counts;
nsuper_avg += nsuper;
- if (*flag) goto RETURN;
for (j = 0; j < nsuper; j++){
dist = MAX(distances[j], MINDIST);
for (k = 0; k < dim; k++){
/* repulsive force ||x_i-x_j||^(1 - p) (x_i - x_j) */
if (USE_QT){
QuadTree_get_supernodes(qt, ctrl->bh, &(x[dim*i]), i, &nsuper, &nsupermax,
- ¢er, &supernode_wgts, &distances, &counts, flag);
+ ¢er, &supernode_wgts, &distances, &counts);
nsuper_avg += nsuper;
- if (*flag) goto RETURN;
for (j = 0; j < nsuper; j++){
dist = MAX(distances[j], MINDIST);
for (k = 0; k < dim; k++){
/* repulsive force K^(1 - p)/||x_i-x_j||^(1 - p) (x_i - x_j) */
if (USE_QT){
QuadTree_get_supernodes(qt, ctrl->bh, &(x[dim*i]), i, &nsuper, &nsupermax,
- ¢er, &supernode_wgts, &distances, &counts, flag);
+ ¢er, &supernode_wgts, &distances, &counts);
nsuper_avg += nsuper;
- if (*flag) goto RETURN;
for (j = 0; j < nsuper; j++){
dist = MAX(distances[j], MINDIST);
for (k = 0; k < dim; k++){
}
void QuadTree_get_supernodes(QuadTree qt, double bh, double *point, int nodeid, int *nsuper,
- int *nsupermax, double **center, double **supernode_wgts, double **distances, double *counts, int *flag){
+ int *nsupermax, double **center, double **supernode_wgts, double **distances, double *counts) {
int dim = qt->dim;
(*counts) = 0;
*nsuper = 0;
- *flag = 0;
*nsupermax = 10;
if (!*center) *center = MALLOC(sizeof(double)*(*nsupermax)*dim);
if (!*supernode_wgts) *supernode_wgts = MALLOC(sizeof(double)*(*nsupermax));
double point_distance(double *p1, double *p2, int dim);
void QuadTree_get_supernodes(QuadTree qt, double bh, double *point, int nodeid, int *nsuper,
- int *nsupermax, double **center, double **supernode_wgts, double **distances, double *counts, int *flag);
+ int *nsupermax, double **center, double **supernode_wgts, double **distances, double *counts);
void QuadTree_get_repulsive_force(QuadTree qt, double *force, double *x, double bh, double p, double KP, double *counts);