From aa96722906dcf8ff4dd83b1e089bcdb37dd49cdf Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Thu, 3 Nov 2011 00:27:40 +0100 Subject: [PATCH] Replace Dune::Identity with Dune::LinearFunction --- dune/tectonic/nicefunction.hh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/dune/tectonic/nicefunction.hh b/dune/tectonic/nicefunction.hh index 6140a397..fecc7dd9 100644 --- a/dune/tectonic/nicefunction.hh +++ b/dune/tectonic/nicefunction.hh @@ -16,13 +16,22 @@ class NiceFunction : public VirtualFunction<double, double> { virtual double rightDifferential(double s) const = 0; }; -class Identity : public NiceFunction { +class LinearFunction : public NiceFunction { public: - void virtual evaluate(double const& x, double& y) const { y = x; } + LinearFunction() {} - double virtual leftDifferential(double s) const { return 1; } + LinearFunction(double a) : coefficient(a) {} - double virtual rightDifferential(double s) const { return 1; } + void virtual evaluate(double const& x, double& y) const { + y = coefficient * x; + } + + double virtual leftDifferential(double s) const { return coefficient; } + + double virtual rightDifferential(double s) const { return coefficient; } + +private: + double coefficient; }; template <int slope> class SampleFunction : public NiceFunction { -- GitLab