From: Matthew Fernandez Date: Thu, 17 Jun 2021 00:54:15 +0000 (-0700) Subject: remove another pow micro-optimization in spring_electrical.c X-Git-Tag: 2.48.0~41^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b2a6af08fc79795cc5bbe2e1b528f36f57b79e26;p=graphviz remove another pow micro-optimization in spring_electrical.c A slightly different variant of the instances dealt with in the prior commit. --- diff --git a/lib/sfdpgen/spring_electrical.c b/lib/sfdpgen/spring_electrical.c index 5dba8833f..16516cfa9 100644 --- a/lib/sfdpgen/spring_electrical.c +++ b/lib/sfdpgen/spring_electrical.c @@ -1367,21 +1367,9 @@ static void spring_maxent_embedding(int dim, SparseMatrix A0, SparseMatrix D, sp } assert(dj > 0); /* spring force */ - if (ctrl->q == 2){ - w_ij = 1./(dj*dj*dj); - for (k = 0; k < dim; k++){ - f[k] += -w_ij*(x[i*dim+k] - x[jd[j]*dim+k])*(dist - dj)*(dist - dj)/dist; - } - } else if (ctrl->q == 1){/* square stress force */ - w_ij = 1./(dj*dj); - for (k = 0; k < dim; k++){ - f[k] += -w_ij*(x[i*dim+k] - x[jd[j]*dim+k])*(dist - dj)/dist; - } - } else { - w_ij = 1./pow(dj, ctrl->q + 1); - for (k = 0; k < dim; k++){ - f[k] += -w_ij*(x[i*dim+k] - x[jd[j]*dim+k])*pow(dist - dj, ctrl->q)/dist; - } + w_ij = 1./pow(dj, ctrl->q + 1); + for (k = 0; k < dim; k++){ + f[k] += -w_ij*(x[i*dim+k] - x[jd[j]*dim+k])*pow(dist - dj, ctrl->q)/dist; } #ifdef DEBUG