From 3d1b76291294772c75ab4c5efcface3cf0c0a2cd Mon Sep 17 00:00:00 2001 From: Kevin <kevin.hoellring@fau.de> Date: Mon, 25 Nov 2019 14:58:52 +0100 Subject: [PATCH] Fix differential signature --- include/differential.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/differential.h b/include/differential.h index ca2e952..d1cf91f 100644 --- a/include/differential.h +++ b/include/differential.h @@ -7,14 +7,15 @@ namespace numerics { template <typename argtype, typename valtype> -class ScalarDifferential : public Function<argtype, valtype> { +class ScalarDifferential + : public Function<Coordinate<argtype>, Coordinate<valtype>> { public: ScalarDifferential(Function<Vector<argtype>, valtype>& _func, Differentiator<argtype, valtype>& _diff, argtype _h = 1e-8) : func(_func), diff(_diff), h(_h) {} - Vector<valtype> operator()(numerics::Coordinate<argtype> x) const override { + Vector<valtype> operator()(Coordinate<argtype> x) const override { assert(x.dimension() == input_dimension()); return diff(func, x, Vector<valtype>(x.dimension(), h)); } @@ -30,7 +31,7 @@ class ScalarDifferential : public Function<argtype, valtype> { }; template <typename argtype, typename valtype> -Function<Vector<argtype>, Vector<valtype>> +ScalarDifferential<argtype, valtype> nabla(Function<Vector<argtype>, valtype>& func, Differentiator<argtype, valtype>& diff) { return ScalarDifferential<argtype, valtype>(func, diff); -- GitLab