From 40cc57d76a0bfe0bb16572b45c21b28c5a2509da Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 10 May 2019 09:55:23 +0200 Subject: relax_test: fix getting the residual norm --- relax_test.c | 15 ++------------- 1 file 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; -- cgit v1.2.3