diff --git a/src/test-gradient-method.cc b/src/test-gradient-method.cc index d907b5f39ef210856508ba9d13750e908590f813..c54e64ab90fde15bed46fad6bfbc5889fbaf5c8f 100644 --- a/src/test-gradient-method.cc +++ b/src/test-gradient-method.cc @@ -4,6 +4,8 @@ #include <cassert> +#include <boost/format.hpp> + #include <dune/common/exceptions.hh> #include <dune/common/shared_ptr.hh> #include <dune/common/stdstreams.hh> @@ -24,10 +26,10 @@ double functionTester(Dune::SampleFunctional<dim> J, 1e-12, // requiredResidual: ? true, // fastQuadratic 0); // safety: acceptance factor for inexact minimization - std::cout << "Old value: J(...) = " << J(start) << std::endl; + double const original = J(start); Dune::minimise(J, start, runs, bisection); double const final = J(start); - std::cout << "Final value J(...) = " << final << std::endl; + std::cout << boost::format("%8g -> %e") % original % final << std::endl; return final; } @@ -160,7 +162,6 @@ void testSampleFunctionNonsmooth() { functionTester(J, start, 6); } - std::cout << std::endl; { start = b; start /= (b.two_norm() - 1e-12); // Make sure the norm is above 1; @@ -211,7 +212,6 @@ void testTrivialFunction() { assert(error.two_norm() < 1e-10); double const ret1 = functionTester(J, start, 6); - std::cout << std::endl; // Something random start[0] = 279; @@ -479,28 +479,38 @@ void testSteepFunction() { int main() { try { + std::cout << "testIdentity:" << std::endl; testIdentity(); - std::cout << std::endl; + + std::cout << std::endl << "testSampleFunction:" << std::endl; testSampleFunction(); - std::cout << std::endl; + + std::cout << std::endl << "testSampleFunctionNonsmooth:" << std::endl; testSampleFunctionNonsmooth(); - std::cout << std::endl; + + std::cout << std::endl << "testTrivialFunction:" << std::endl; testTrivialFunction(); - std::cout << std::endl; + + std::cout << std::endl << "testHorribleFunction:" << std::endl; testHorribleFunction(); - std::cout << std::endl; + + std::cout << std::endl << "testHorribleFunctionLogarithmic:" << std::endl; testHorribleFunctionLogarithmic(); - std::cout << std::endl; + + std::cout << std::endl << "testSampleFunction2:" << std::endl; testSampleFunction2(); - std::cout << std::endl; + + std::cout << std::endl << "testSampleFunction3D:" << std::endl; testSampleFunction3D(); - std::cout << std::endl; + + std::cout << std::endl << "testSampleFunctionSteep1:" << std::endl; testSampleFunctionSteep1(); - std::cout << std::endl; + + std::cout << std::endl << "testSampleFunctionSteep2:" << std::endl; testSampleFunctionSteep2(); - std::cout << std::endl; + + std::cout << std::endl << "testSteepFunction:" << std::endl; testSteepFunction(); - return 0; } catch (Dune::Exception &e) { Dune::derr << "Dune reported error: " << e << std::endl;