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