diff options
Diffstat (limited to 'transfer.c')
-rw-r--r-- | transfer.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -118,10 +118,12 @@ static int transfer_factors_lagrange(GridTransferContext *ctx, unsigned int dim) return -ENOMEM; for (ptrdiff_t idx_dst = 0; idx_dst < ctx->dst.size[dim]; idx_dst++) { - const ptrdiff_t idx_src = (ptrdiff_t)(scale * idx_dst) - (priv->stencil / 2 - 1); - const double coord_dst = idx_dst * step_dst; + const double coord_dst = idx_dst * step_dst; + double *fact = priv->fact[dim] + priv->stencil * idx_dst; - double *fact = priv->fact[dim] + priv->stencil * idx_dst; + ptrdiff_t idx_src = (ptrdiff_t)(scale * idx_dst) - (priv->stencil / 2 - 1); + + //idx_src = MAX(MIN(idx_src, ctx->src.size[dim] - priv->stencil - 1), 0); for (int i = 0; i < priv->stencil; i++) coord_src[i] = (idx_src + i) * step_src; |