diff options
-rw-r--r-- | ell_grid_solve.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ell_grid_solve.c b/ell_grid_solve.c index 9d50c82..1952f95 100644 --- a/ell_grid_solve.c +++ b/ell_grid_solve.c @@ -420,7 +420,7 @@ static int solve_exact(EGSContext *ctx) continue; for (ptrdiff_t bnd_layer = 1; bnd_layer < ctx->fd_stencil; bnd_layer++) - for (ptrdiff_t bnd_idx = -(ptrdiff_t)ctx->fd_stencil; bnd_idx < (ptrdiff_t)(bnd_len[0] + ctx->fd_stencil); bnd_idx++) { + for (ptrdiff_t bnd_idx = -((ptrdiff_t)ctx->fd_stencil - 1); bnd_idx < (ptrdiff_t)(bnd_len[0] + ctx->fd_stencil - 1); bnd_idx++) { e->rhs[mat_row_idx] -= bnd->val[bnd_layer * bnd->val_stride + bnd_idx] * dst[dir * bnd_layer * bnd_stride[1] + bnd_idx * bnd_stride[0]]; dst[dir * bnd_layer * bnd_stride[1] + bnd_idx * bnd_stride[0]] = 0.0; } |