From 2be33e476f8c465d52325ad86b1e224ce552af5f Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Tue, 7 Feb 2012 16:41:04 +0000 Subject: [PATCH] use the relative error when looking for differences between analytical and fd expressions [[Imported from SVN: r8404]] --- test/cosseratenergytest.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/cosseratenergytest.cc b/test/cosseratenergytest.cc index edaaffe9..0b0821e8 100644 --- a/test/cosseratenergytest.cc +++ b/test/cosseratenergytest.cc @@ -316,7 +316,11 @@ void testEnergyGradient() for (size_t k=0; k<gradient[j].size(); k++) diff = std::max(diff, std::fabs(gradient[j][k] - fdGradient[j][k])); - if (diff > 1e-4) { + double maxRelError = 0; + for (size_t j=0; j<gradient.size(); j++) + maxRelError = std::max(maxRelError, diff/gradient[j].infinity_norm()); + + if (maxRelError > 1e-3) { std::cout << "Analytical and FD gradients differ!" << std::endl; -- GitLab