From 799155f89d948f06e66d588d59ddeb2d2fe6210e Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@igpm.rwth-aachen.de> Date: Tue, 3 Sep 2013 16:30:05 +0000 Subject: [PATCH] Be less verbose: print only the failing configurations [[Imported from SVN: r9420]] --- test/adolctest.cc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/test/adolctest.cc b/test/adolctest.cc index c565178f..83cb327d 100644 --- a/test/adolctest.cc +++ b/test/adolctest.cc @@ -51,9 +51,10 @@ double diameter(const std::vector<TargetSpace>& v) -template <int blocksize> +template <int blocksize, class TargetSpace> void compareMatrices(const Matrix<FieldMatrix<double,blocksize,blocksize> >& fdMatrix, - const Matrix<FieldMatrix<double,blocksize,blocksize> >& adolcMatrix) + const Matrix<FieldMatrix<double,blocksize,blocksize> >& adolcMatrix, + const std::vector<TargetSpace>& configuration) { assert(fdMatrix.N() == adolcMatrix.N()); assert(fdMatrix.M() == adolcMatrix.M()); @@ -62,7 +63,11 @@ void compareMatrices(const Matrix<FieldMatrix<double,blocksize,blocksize> >& fdM diff -= adolcMatrix; if ( (diff.frobenius_norm() / fdMatrix.frobenius_norm()) > 1e-4) { - std::cout << "Matrices differ:" << std::endl; + + std::cout << "Matrices differ for" << std::endl; + for (size_t j=0; j<configuration.size(); j++) + std::cout << configuration[j] << std::endl; + std::cout << "finite differences:" << std::endl; printmatrix(std::cout, fdMatrix, "finite differences", "--"); std::cout << "ADOL-C:" << std::endl; @@ -123,9 +128,6 @@ int testHarmonicEnergy() { if (diameter(localSolution) > 0.5*M_PI) continue; - for (size_t j=0; j<localSolution.size(); j++) - std::cout << localSolution[j] << std::endl; - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -133,7 +135,7 @@ int testHarmonicEnergy() { localGFEADOLCStiffness.assembleHessian(*grid.template leafbegin<0>(),localFiniteElement, localSolution); - compareMatrices(harmonicEnergyLocalStiffness.A_, localGFEADOLCStiffness.A_); + compareMatrices(harmonicEnergyLocalStiffness.A_, localGFEADOLCStiffness.A_, localSolution); } @@ -200,7 +202,7 @@ int testCosseratEnergy() { localGFEADOLCStiffness.assembleHessian(*grid.leafbegin<0>(),localFiniteElement, localSolution); - compareMatrices(cosseratEnergyLocalStiffness.A_, localGFEADOLCStiffness.A_); + compareMatrices(cosseratEnergyLocalStiffness.A_, localGFEADOLCStiffness.A_, localSolution); return 0; } -- GitLab