summaryrefslogtreecommitdiff
path: root/transfer_interp_template.c
diff options
context:
space:
mode:
Diffstat (limited to 'transfer_interp_template.c')
-rw-r--r--transfer_interp_template.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/transfer_interp_template.c b/transfer_interp_template.c
index 65ae98b..ddd270f 100644
--- a/transfer_interp_template.c
+++ b/transfer_interp_template.c
@@ -29,7 +29,9 @@
static void
FUNC(interp_transfer_line)(double *dst, ptrdiff_t dst_len,
const double *src, ptrdiff_t src_stride,
- const ptrdiff_t *idx_x, const double *fact_x, const double *fact_y
+ const ptrdiff_t *idx_x,
+ const double *fact_x, ptrdiff_t fact_x_stride,
+ const double *fact_y, ptrdiff_t fact_y_stride
#if !CONTIGUOUS
, ptrdiff_t dst_stride0, ptrdiff_t src_stride0
# define SSTRIDE1 src_stride0
@@ -48,8 +50,8 @@ FUNC(interp_transfer_line)(double *dst, ptrdiff_t dst_len,
for (ptrdiff_t idx0 = 0; idx0 < STENCIL; idx0++) {
double tmp = 0.0;
for (ptrdiff_t idx1 = 0; idx1 < STENCIL; idx1++)
- tmp += src_data[idx0 * src_stride + idx1 ] * fact_x[STENCIL * x + idx1];
- val += tmp * fact_y[idx0];
+ tmp += src_data[idx0 * src_stride + idx1 ] * fact_x[idx1 * fact_x_stride + x];
+ val += tmp * fact_y[idx0 * fact_y_stride];
}
dst[x * DSTRIDE1] = val;