diff options
author | Anton Khirnov <anton@khirnov.net> | 2019-05-10 09:55:23 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2019-05-12 13:33:34 +0200 |
commit | 40cc57d76a0bfe0bb16572b45c21b28c5a2509da (patch) | |
tree | bf4d0b15a4dd4eb4987f65b3cf00b0680930f29f /relax_test.c | |
parent | 1618ce8e5e8b5739d5e8f70dc2aced1288287526 (diff) |
relax_test: fix getting the residual norm
Diffstat (limited to 'relax_test.c')
-rw-r--r-- | relax_test.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/relax_test.c b/relax_test.c index 599fb4d..c2dd468 100644 --- a/relax_test.c +++ b/relax_test.c @@ -40,17 +40,6 @@ static double sol_dxy(double x, double y) } #endif -static double findmax(double *arr, size_t len) -{ - double ret = 0.0; - for (size_t i = 0; i < len; i++) { - double val = fabs(*arr++); - if (val > ret) - ret = val; - } - return ret; -} - int main(int argc, char **argv) { EGSContext *ctx; @@ -141,7 +130,7 @@ int main(int argc, char **argv) goto fail; } - res_old = findmax(ctx->residual->data, ctx->residual->stride[0] * ctx->domain_size[1]); + res_old = ctx->residual_max; for (int i = 0; i < maxiter; i++) { ret = mg2di_egs_solve(ctx, EGS_SOLVE_RELAXATION, 0); @@ -150,7 +139,7 @@ int main(int argc, char **argv) ret = 1; goto fail; } - res_new = findmax(ctx->residual->data, ctx->residual->stride[0] * ctx->domain_size[1]); + res_new = ctx->residual_max; if (res_new > 1e3) { fprintf(stderr, "Diverged at step %d: %g -> %g\n", i, res_old, res_new); goto fail; |