From d4f38020a3401808c0d7cdd1481ddad511e06e89 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Mon, 30 Jul 2012 10:27:01 +0200 Subject: [PATCH] Typedefs --- src/test-gradient-horrible-logarithmic.cc | 8 +++++--- src/test-gradient-horrible.cc | 8 +++++--- src/test-gradient-identity.cc | 8 +++++--- src/test-gradient-parabola.cc | 22 ++++++++++++---------- src/test-gradient-sample-3d.cc | 8 +++++--- src/test-gradient-sample-nonsmooth.cc | 14 ++++++++------ src/test-gradient-sample-steep.cc | 8 +++++--- src/test-gradient-sample-steep2.cc | 8 +++++--- src/test-gradient-sample-verysteep.cc | 8 +++++--- src/test-gradient-sample.cc | 12 +++++++----- src/test-gradient-sample2.cc | 8 +++++--- src/test-gradient-trivial.cc | 14 ++++++++------ 12 files changed, 75 insertions(+), 51 deletions(-) diff --git a/src/test-gradient-horrible-logarithmic.cc b/src/test-gradient-horrible-logarithmic.cc index cd0f16b8..5cbc16e1 100644 --- a/src/test-gradient-horrible-logarithmic.cc +++ b/src/test-gradient-horrible-logarithmic.cc @@ -16,12 +16,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 3; A[0][1] = A[1][0] = 1.5; A[1][1] = 4; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; @@ -29,7 +31,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start = b; + SmallVector start = b; start *= 17; double const ret1 = functionTester(J, start, 6); diff --git a/src/test-gradient-horrible.cc b/src/test-gradient-horrible.cc index b09a32ac..2d319687 100644 --- a/src/test-gradient-horrible.cc +++ b/src/test-gradient-horrible.cc @@ -16,12 +16,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 3; A[0][1] = A[1][0] = 1.5; A[1][1] = 4; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; @@ -29,7 +31,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start = b; + SmallVector start = b; start *= 17; double const ret1 = functionTester(J, start, 7); diff --git a/src/test-gradient-identity.cc b/src/test-gradient-identity.cc index 62c96e3b..e0c37253 100644 --- a/src/test-gradient-identity.cc +++ b/src/test-gradient-identity.cc @@ -16,12 +16,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 3; A[0][1] = A[1][0] = 1.5; A[1][1] = 4; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; @@ -29,7 +31,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start = b; + SmallVector start = b; start *= 17; double const ret1 = functionTester(J, start, 6); diff --git a/src/test-gradient-parabola.cc b/src/test-gradient-parabola.cc index 34bd13cc..a2ee2ee9 100644 --- a/src/test-gradient-parabola.cc +++ b/src/test-gradient-parabola.cc @@ -18,12 +18,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 3; A[0][1] = A[1][0] = 1.5; A[1][1] = 4; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; @@ -34,23 +36,23 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector solution; // Analytic solution + SmallVector solution; // Analytic solution solution[0] = 4.0 / 37.0; solution[1] = 34.0 / 111.0; - Functional::SmallMatrix M = A; + SmallMatrix M = A; M[0][0] += 2; M[1][1] += 2; double ret1; { - Functional::SmallVector start = b; + SmallVector start = b; start *= 17; - Functional::SmallVector analytic_descent = b; + SmallVector analytic_descent = b; M.mmv(start, analytic_descent); - Functional::SmallVector numerical_descent; + SmallVector numerical_descent; J.descentDirection(start, numerical_descent); assert(two_distance<dim>(numerical_descent, analytic_descent) < 1e-10); @@ -61,14 +63,14 @@ int main() { double ret2; { // Something random - Functional::SmallVector start; + SmallVector start; start[0] = 279; start[1] = -96; - Functional::SmallVector analytic_descent = b; + SmallVector analytic_descent = b; M.mmv(start, analytic_descent); - Functional::SmallVector numerical_descent; + SmallVector numerical_descent; J.descentDirection(start, numerical_descent); assert(two_distance<dim>(numerical_descent, analytic_descent) < 1e-10); diff --git a/src/test-gradient-sample-3d.cc b/src/test-gradient-sample-3d.cc index 005a948c..a58ffc2a 100644 --- a/src/test-gradient-sample-3d.cc +++ b/src/test-gradient-sample-3d.cc @@ -16,14 +16,16 @@ int main() { int const dim = 3; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A(0); + SmallMatrix A(0); A[0][0] = 3; A[0][1] = A[1][0] = 1.5; A[1][1] = 4; A[1][2] = A[2][1] = 1.5; A[2][2] = 5; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; b[2] = 3; @@ -32,7 +34,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start = b; + SmallVector start = b; start *= 17; double const ret1 = functionTester(J, start, 9); diff --git a/src/test-gradient-sample-nonsmooth.cc b/src/test-gradient-sample-nonsmooth.cc index f4d0c7c6..b9a474a1 100644 --- a/src/test-gradient-sample-nonsmooth.cc +++ b/src/test-gradient-sample-nonsmooth.cc @@ -17,12 +17,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 3; A[0][1] = A[1][0] = 1.5; A[1][1] = 4; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; @@ -30,8 +32,8 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start; - Functional::SmallVector analytic_descent; + SmallVector start; + SmallVector analytic_descent; /* for x = b/|b|: @@ -50,7 +52,7 @@ int main() { start /= (b.two_norm() + 1e-12); // Make sure the norm is below 1; assert(start.two_norm() < 1); - Functional::SmallVector numerical_descent; + SmallVector numerical_descent; J.descentDirection(start, numerical_descent); analytic_descent[0] = -(7 / sqrt(5) - 1); analytic_descent[1] = -(11.5 / sqrt(5) - 2); @@ -63,7 +65,7 @@ int main() { start /= (b.two_norm() - 1e-12); // Make sure the norm is above 1; assert(start.two_norm() > 1); - Functional::SmallVector numerical_descent; + SmallVector numerical_descent; J.descentDirection(start, numerical_descent); analytic_descent[0] = -(8 / sqrt(5) - 1); analytic_descent[1] = -(13.5 / sqrt(5) - 2); diff --git a/src/test-gradient-sample-steep.cc b/src/test-gradient-sample-steep.cc index d6965f83..42b8a54b 100644 --- a/src/test-gradient-sample-steep.cc +++ b/src/test-gradient-sample-steep.cc @@ -16,12 +16,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 1; A[0][1] = A[1][0] = 0; A[1][1] = 1; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; @@ -29,7 +31,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start; + SmallVector start; start[0] = 0; start[1] = 1; diff --git a/src/test-gradient-sample-steep2.cc b/src/test-gradient-sample-steep2.cc index 77bb5bd8..894cb3ab 100644 --- a/src/test-gradient-sample-steep2.cc +++ b/src/test-gradient-sample-steep2.cc @@ -16,12 +16,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 1; A[0][1] = A[1][0] = 0; A[1][1] = 1; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2.5; @@ -29,7 +31,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start; + SmallVector start; start[0] = 0; start[1] = 1; diff --git a/src/test-gradient-sample-verysteep.cc b/src/test-gradient-sample-verysteep.cc index 704a2269..2552f6ec 100644 --- a/src/test-gradient-sample-verysteep.cc +++ b/src/test-gradient-sample-verysteep.cc @@ -16,12 +16,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 1; A[0][1] = A[1][0] = 0; A[1][1] = 1; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2.5; @@ -29,7 +31,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start; + SmallVector start; start[0] = 0; start[1] = 1; diff --git a/src/test-gradient-sample.cc b/src/test-gradient-sample.cc index 43f42781..1bfd05c0 100644 --- a/src/test-gradient-sample.cc +++ b/src/test-gradient-sample.cc @@ -18,12 +18,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 3; A[0][1] = A[1][0] = 1.5; A[1][1] = 4; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; @@ -31,7 +33,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start = b; + SmallVector start = b; start *= 17; /* @@ -40,10 +42,10 @@ int main() { = 17*(6, 9.5) - (1, 2) + 2/sqrt(5) (1, 2) = (102 - 1 + 2/sqrt(5), 161.5 - 2 + 4/sqrt(5)) */ - Functional::SmallVector analytic_descent; + SmallVector analytic_descent; analytic_descent[0] = -(102 - 1 + 2 / sqrt(5)); analytic_descent[1] = -(161.5 - 2 + 4 / sqrt(5)); - Functional::SmallVector numerical_descent; + SmallVector numerical_descent; J.descentDirection(start, numerical_descent); assert(two_distance<dim>(analytic_descent, numerical_descent) < 1e-10); diff --git a/src/test-gradient-sample2.cc b/src/test-gradient-sample2.cc index 5c13a17d..fd67e841 100644 --- a/src/test-gradient-sample2.cc +++ b/src/test-gradient-sample2.cc @@ -18,12 +18,14 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 1; A[0][1] = A[1][0] = 0; A[1][1] = 1; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 1; @@ -31,7 +33,7 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start = b; + SmallVector start = b; double const ret1 = functionTester(J, start, 2); diff --git a/src/test-gradient-trivial.cc b/src/test-gradient-trivial.cc index 83d8c30c..892b10ac 100644 --- a/src/test-gradient-trivial.cc +++ b/src/test-gradient-trivial.cc @@ -17,16 +17,18 @@ int main() { int const dim = 2; typedef Dune::SampleFunctional<dim> Functional; + typedef Functional::SmallMatrix SmallMatrix; + typedef Functional::SmallVector SmallVector; - Functional::SmallMatrix A; + SmallMatrix A; A[0][0] = 3; A[0][1] = A[1][0] = 1.5; A[1][1] = 4; - Functional::SmallVector b; + SmallVector b; b[0] = 1; b[1] = 2; - Functional::SmallVector solution; // Analytic solution + SmallVector solution; // Analytic solution solution[0] = 4.0 / 39.0; solution[1] = 6.0 / 13.0; @@ -34,12 +36,12 @@ int main() { auto phi = Dune::make_shared<Functional::NonlinearityType const>(f); Functional J(A, b, phi); - Functional::SmallVector start = b; + SmallVector start = b; start *= 17; - Functional::SmallVector analytic_descent = b; + SmallVector analytic_descent = b; A.mmv(start, analytic_descent); - Functional::SmallVector numerical_descent; + SmallVector numerical_descent; J.descentDirection(start, numerical_descent); assert(two_distance<dim>(numerical_descent, analytic_descent) < 1e-10); -- GitLab