Skip to content

Commit ce48545

Browse files
committed
Simplify mathematical expressions and remove unused variables
1 parent c985bc9 commit ce48545

1 file changed

Lines changed: 23 additions & 42 deletions

File tree

astropy/convolution/src/convolve.c

Lines changed: 23 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -199,20 +199,16 @@ FORCE_INLINE void convolve1d(DTYPE * const result,
199199
// when threaded. Without these, compile time constant conditionals may
200200
// not be optimized away.
201201
const size_t nx = _nx;
202-
const size_t nkx = _nkx;
203202
const bool nan_interpolate = _nan_interpolate;
204203
const bool padded = _padded;
205204

206205
// Thread locals
207206
const size_t wkx = _wkx;
208-
const size_t nkx_minus_1 = nkx-1;
209-
size_t wkx_minus_i;
207+
size_t wkx_plus_i;
210208
size_t ker_i;
211209
const omp_iter_var nx_minus_wkx = nx - wkx;
212210
size_t i_minus_wkx;
213-
const size_t wkx_plus_1 = wkx + 1;
214211
omp_iter_var i_plus_wkx_plus_1;
215-
size_t nkx_minus_1_minus_wkx_plus_i;
216212
size_t result_index;
217213

218214
DTYPE top, bot=0., ker, val;
@@ -223,18 +219,17 @@ FORCE_INLINE void convolve1d(DTYPE * const result,
223219
#endif
224220
for (i = wkx; i < nx_minus_wkx; ++i)
225221
{
226-
wkx_minus_i = wkx - i; // wkx - 1
222+
wkx_plus_i = wkx + i; // wkx + i
227223
i_minus_wkx = i - wkx; //i - wkx
228-
i_plus_wkx_plus_1 = i + wkx_plus_1; // i + wkx + 1
229-
nkx_minus_1_minus_wkx_plus_i = nkx_minus_1 - wkx_minus_i; // nkx - 1 - (wkx - i)
224+
i_plus_wkx_plus_1 = wkx_plus_i + 1; // i + wkx + 1
230225

231226
top = 0.;
232227
if (nan_interpolate) // compile time constant
233228
bot = 0.;
234229
{omp_iter_var ii;
235230
for (ii = i_minus_wkx; ii < i_plus_wkx_plus_1; ++ii)
236231
{
237-
ker_i = nkx_minus_1_minus_wkx_plus_i - ii; // nkx - 1 - (wkx + ii - i)
232+
ker_i = wkx_plus_i - ii; // nkx - 1 - (wkx + ii - i)
238233
val = f[ii];
239234
ker = g[ker_i];
240235
if (nan_interpolate) // compile time constant
@@ -306,24 +301,20 @@ FORCE_INLINE void convolve2d(DTYPE * const result,
306301
// when threaded. Without these, compile time constant conditionals may
307302
// not be optimized away.
308303
const size_t nx = _nx, ny = _ny;
309-
const size_t nkx = _nkx, nky = _nky;
304+
const size_t nky = _nky;
310305
const bool nan_interpolate = _nan_interpolate;
311306
const bool padded = _padded;
312307

313308
// Thread locals
314309
const size_t wkx = _wkx;
315310
const size_t wky = _wky;
316-
const size_t nkx_minus_1 = nkx-1, nky_minus_1 = nky-1;
317-
size_t wkx_minus_i, wky_minus_j;
311+
size_t wkx_plus_i, wky_plus_j;
318312
size_t ker_i, ker_j;
319313
const omp_iter_var nx_minus_wkx = nx - wkx;
320314
const omp_iter_var ny_minus_wky = ny - wky;
321315
const size_t ny_minus_2wky = ny - 2 * wky;
322316
size_t i_minus_wkx, j_minus_wky;
323-
const size_t wkx_plus_1 = wkx + 1;
324-
const size_t wky_plus_1 = wky + 1;
325317
omp_iter_var i_plus_wkx_plus_1, j_plus_wky_plus_1;
326-
size_t nkx_minus_1_minus_wkx_plus_i, nky_minus_1_minus_wky_plus_j;
327318
size_t result_index;
328319

329320
DTYPE top, bot=0., ker, val;
@@ -334,30 +325,28 @@ FORCE_INLINE void convolve2d(DTYPE * const result,
334325
#endif
335326
for (i = wkx; i < nx_minus_wkx; ++i)
336327
{
337-
wkx_minus_i = wkx - i; // wkx - 1
328+
wkx_plus_i = wkx + i; // wkx + 1
338329
i_minus_wkx = i - wkx; //i - wkx
339-
i_plus_wkx_plus_1 = i + wkx_plus_1; // i + wkx + 1
340-
nkx_minus_1_minus_wkx_plus_i = nkx_minus_1 - wkx_minus_i; // nkx - 1 - (wkx - i)
330+
i_plus_wkx_plus_1 = wkx_plus_i + 1; // i + wkx + 1
341331

342332
{omp_iter_var j;
343333
for (j = wky; j < ny_minus_wky; ++j)
344334
{
345-
wky_minus_j = wky - j; // wky - j
335+
wky_plus_j = wky + j; // wky + j
346336
j_minus_wky = j - wky; // j - wky
347-
j_plus_wky_plus_1 = j + wky_plus_1; // j + wky + 1
348-
nky_minus_1_minus_wky_plus_j = nky_minus_1 - wky_minus_j; // nky - 1 - (wky - i)
337+
j_plus_wky_plus_1 = wky_plus_j + 1; // j + wky + 1
349338

350339
top = 0.;
351340
if (nan_interpolate) // compile time constant
352341
bot = 0.;
353342
{omp_iter_var ii;
354343
for (ii = i_minus_wkx; ii < i_plus_wkx_plus_1; ++ii)
355344
{
356-
ker_i = nkx_minus_1_minus_wkx_plus_i - ii; // nkx - 1 - (wkx + ii - i)
345+
ker_i = wkx_plus_i - ii; // nkx - 1 - (wkx + ii - i)
357346
{omp_iter_var jj;
358347
for (jj = j_minus_wky; jj < j_plus_wky_plus_1; ++jj)
359348
{
360-
ker_j = nky_minus_1_minus_wky_plus_j - jj; // nky - 1 - (wky + jj - j)
349+
ker_j = wky_plus_j - jj; // nky - 1 - (wky + jj - j)
361350
val = f[ii*ny + jj]; //[ii, jj];
362351
ker = g[ker_i*nky + ker_j]; // [ker_i, ker_j];
363352
if (nan_interpolate) // compile time constant
@@ -433,16 +422,15 @@ FORCE_INLINE void convolve3d(DTYPE * const result,
433422
// when threaded. Without these, compile time constant conditionals may
434423
// not be optimized away.
435424
const size_t nx = _nx, ny = _ny, nz = _nz;
436-
const size_t nkx = _nkx, nky = _nky, nkz = _nkz;
425+
const size_t nky = _nky, nkz = _nkz;
437426
const bool nan_interpolate = _nan_interpolate;
438427
const bool padded = _padded;
439428

440429
// Thread locals
441430
const size_t wkx = _wkx;
442431
const size_t wky = _wky;
443432
const size_t wkz = _wkz;
444-
const size_t nkx_minus_1 = nkx-1, nky_minus_1 = nky-1, nkz_minus_1 = nkz-1;
445-
size_t wkx_minus_i, wky_minus_j, wkz_minus_k;
433+
size_t wkx_plus_i, wky_plus_j, wkz_plus_k;
446434
size_t ker_i, ker_j, ker_k;
447435
const size_t nx_minus_wkx = nx - wkx;
448436
const omp_iter_var ny_minus_wky = ny - wky;
@@ -451,11 +439,7 @@ FORCE_INLINE void convolve3d(DTYPE * const result,
451439
const size_t nz_minus_2wkz = nz - 2 * wkz;
452440

453441
size_t i_minus_wkx, j_minus_wky, k_minus_wkz;
454-
const size_t wkx_plus_1 = wkx + 1;
455-
const size_t wky_plus_1 = wky + 1;
456-
const size_t wkz_plus_1 = wkz + 1;
457442
omp_iter_var i_plus_wkx_plus_1, j_plus_wky_plus_1, k_plus_wkz_plus_1;
458-
size_t nkx_minus_1_minus_wkx_plus_i, nky_minus_1_minus_wky_plus_j, nkz_minus_1_minus_wkz_plus_k;
459443
size_t result_index;
460444

461445
DTYPE top, bot=0., ker, val;
@@ -466,42 +450,39 @@ FORCE_INLINE void convolve3d(DTYPE * const result,
466450
#endif
467451
for (i = wkx; i < nx_minus_wkx; ++i)
468452
{
469-
wkx_minus_i = wkx - i; // wkx - 1
453+
wkx_plus_i = wkx + i; // wkx + i
470454
i_minus_wkx = i - wkx; //i - wkx
471-
i_plus_wkx_plus_1 = i + wkx_plus_1; // i + wkx + 1
472-
nkx_minus_1_minus_wkx_plus_i = nkx_minus_1 - wkx_minus_i; // nkx - 1 - (wkx - i)
455+
i_plus_wkx_plus_1 = wkx_plus_i + 1; // i + wkx + 1
473456

474457
{omp_iter_var j;
475458
for (j = wky; j < ny_minus_wky; ++j)
476459
{
477-
wky_minus_j = wky - j; // wky - j
460+
wky_plus_j = wky + j; // wky + j
478461
j_minus_wky = j - wky; // j - wky
479-
j_plus_wky_plus_1 = j + wky_plus_1; // j + wky + 1
480-
nky_minus_1_minus_wky_plus_j = nky_minus_1 - wky_minus_j; // nky - 1 - (wky - i)
462+
j_plus_wky_plus_1 = wky_plus_j + 1; // j + wky + 1
481463

482464
{omp_iter_var k;
483465
for (k = wkz; k < nz_minus_wkz; ++k)
484466
{
485-
wkz_minus_k = wkz - k; // wkz - k
467+
wkz_plus_k = wkz + k; // wkz + k
486468
k_minus_wkz = k - wkz; // k - wkz
487-
k_plus_wkz_plus_1 = k + wkz_plus_1; // k + wkz + 1
488-
nkz_minus_1_minus_wkz_plus_k = nkz_minus_1 - wkz_minus_k; // nkz - 1 - (wkz - i)
469+
k_plus_wkz_plus_1 = wkz_plus_k + 1; // k + wkz + 1
489470

490471
top = 0.;
491472
if (nan_interpolate) // compile time constant
492473
bot = 0.;
493474
{omp_iter_var ii;
494475
for (ii = i_minus_wkx; ii < i_plus_wkx_plus_1; ++ii)
495476
{
496-
ker_i = nkx_minus_1_minus_wkx_plus_i - ii; // nkx - 1 - (wkx + ii - i)
477+
ker_i = wkx_plus_i - ii; // nkx - 1 - (wkx + ii - i)
497478
{omp_iter_var jj;
498479
for (jj = j_minus_wky; jj < j_plus_wky_plus_1; ++jj)
499480
{
500-
ker_j = nky_minus_1_minus_wky_plus_j - jj; // nky - 1 - (wky + jj - j)
481+
ker_j = wky_plus_j - jj; // nky - 1 - (wky + jj - j)
501482
{omp_iter_var kk;
502483
for (kk = k_minus_wkz; kk < k_plus_wkz_plus_1; ++kk)
503484
{
504-
ker_k = nkz_minus_1_minus_wkz_plus_k - kk; // nkz - 1 - (wkz + kk - k)
485+
ker_k = wkz_plus_k - kk; // nkz - 1 - (wkz + kk - k)
505486

506487
val = f[(ii*ny + jj)*nz + kk]; //[ii, jj, kk];
507488
ker = g[(ker_i*nky + ker_j)*nkz + ker_k]; // [ker_i, ker_j, ker_k];

0 commit comments

Comments
 (0)