aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2019-05-10 09:55:23 +0200
committerAnton Khirnov <anton@khirnov.net>2019-05-12 13:33:34 +0200
commit40cc57d76a0bfe0bb16572b45c21b28c5a2509da (patch)
treebf4d0b15a4dd4eb4987f65b3cf00b0680930f29f
parent1618ce8e5e8b5739d5e8f70dc2aced1288287526 (diff)
relax_test: fix getting the residual norm
-rw-r--r--relax_test.c15
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;