diff options
Diffstat (limited to 'transfer_interp_template.c')
-rw-r--r-- | transfer_interp_template.c | 8 |
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; |