From: Wolfgang Bangerth Date: Fri, 13 Feb 2015 13:59:19 +0000 (-0600) Subject: Remove the 'Number' template argument from Point where it is passed around in 'Functi... X-Git-Tag: v8.3.0-rc1~468^2~1 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4449b071ac83b9a0af7ed6cf5cfc5ff6440f8bc7;p=dealii.git Remove the 'Number' template argument from Point where it is passed around in 'Function' classes. --- diff --git a/include/deal.II/base/function.h b/include/deal.II/base/function.h index 529847e5ed..0274d493e1 100644 --- a/include/deal.II/base/function.h +++ b/include/deal.II/base/function.h @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 1998 - 2014 by the deal.II authors +// Copyright (C) 1998 - 2015 by the deal.II authors // // This file is part of the deal.II library. // @@ -50,11 +50,11 @@ template class TensorFunction; * following methods: * @code * // access to one component at one point - * double value (const Point &p, + * double value (const Point &p, * const unsigned int component = 0) const; * * // return all components at one point - * void vector_value (const Point &p, + * void vector_value (const Point &p, * Vector &value) const; * @endcode * @@ -62,12 +62,12 @@ template class TensorFunction; * components at a list of points at once: * @code * // access to one component at several points - * void value_list (const std::vector > &point_list, + * void value_list (const std::vector > &point_list, * std::vector &value_list, * const unsigned int component = 0) const; * * // return all components at several points - * void vector_value_list (const std::vector > &point_list, + * void vector_value_list (const std::vector > &point_list, * std::vector > &value_list) const; * @endcode * @@ -168,7 +168,7 @@ public: * component you want to have evaluated; it defaults to zero, i.e. the first * component. */ - virtual Number value (const Point &p, + virtual Number value (const Point &p, const unsigned int component = 0) const; /** @@ -178,7 +178,7 @@ public: * * The default implementation will call value() for each component. */ - virtual void vector_value (const Point &p, + virtual void vector_value (const Point &p, Vector &values) const; /** @@ -190,7 +190,7 @@ public: * By default, this function repeatedly calls value() for each point * separately, to fill the output array. */ - virtual void value_list (const std::vector > &points, + virtual void value_list (const std::vector > &points, std::vector &values, const unsigned int component = 0) const; @@ -204,7 +204,7 @@ public: * By default, this function repeatedly calls vector_value() for each point * separately, to fill the output array. */ - virtual void vector_value_list (const std::vector > &points, + virtual void vector_value_list (const std::vector > &points, std::vector > &values) const; /** @@ -215,20 +215,20 @@ public: * value_list() for each component. In order to improve performance, this * can be reimplemented in derived classes to speed up performance. */ - virtual void vector_values (const std::vector > &points, + virtual void vector_values (const std::vector > &points, std::vector > &values) const; /** * Return the gradient of the specified component of the function at the * given point. */ - virtual Tensor<1,dim, Number> gradient (const Point &p, + virtual Tensor<1,dim, Number> gradient (const Point &p, const unsigned int component = 0) const; /** * Return the gradient of all components of the function at the given point. */ - virtual void vector_gradient (const Point &p, + virtual void vector_gradient (const Point &p, std::vector > &gradients) const; /** @@ -237,7 +237,7 @@ public: * already has the right size, i.e. the same size as the points * array. */ - virtual void gradient_list (const std::vector > &points, + virtual void gradient_list (const std::vector > &points, std::vector > &gradients, const unsigned int component = 0) const; @@ -249,7 +249,7 @@ public: * value_list() for each component. In order to improve performance, this * can be reimplemented in derived classes to speed up performance. */ - virtual void vector_gradients (const std::vector > &points, + virtual void vector_gradients (const std::vector > &points, std::vector > > &gradients) const; /** @@ -261,33 +261,33 @@ public: * The outer loop over gradients is over the points in the list, * the inner loop over the different components of the function. */ - virtual void vector_gradient_list (const std::vector > &points, + virtual void vector_gradient_list (const std::vector > &points, std::vector > > &gradients) const; /** * Compute the Laplacian of a given component at point p. */ - virtual Number laplacian (const Point &p, + virtual Number laplacian (const Point &p, const unsigned int component = 0) const; /** * Compute the Laplacian of all components at point p and store * them in values. */ - virtual void vector_laplacian (const Point &p, + virtual void vector_laplacian (const Point &p, Vector &values) const; /** * Compute the Laplacian of one component at a set of points. */ - virtual void laplacian_list (const std::vector > &points, + virtual void laplacian_list (const std::vector > &points, std::vector &values, const unsigned int component = 0) const; /** * Compute the Laplacians of all components at a set of points. */ - virtual void vector_laplacian_list (const std::vector > &points, + virtual void vector_laplacian_list (const std::vector > &points, std::vector > &values) const; /** @@ -329,30 +329,30 @@ public: */ virtual ~ZeroFunction (); - virtual Number value (const Point &p, + virtual Number value (const Point &p, const unsigned int component) const; - virtual void vector_value (const Point &p, + virtual void vector_value (const Point &p, Vector &return_value) const; - virtual void value_list (const std::vector > &points, + virtual void value_list (const std::vector > &points, std::vector &values, const unsigned int component = 0) const; - virtual void vector_value_list (const std::vector > &points, + virtual void vector_value_list (const std::vector > &points, std::vector > &values) const; - virtual Tensor<1,dim, Number> gradient (const Point &p, + virtual Tensor<1,dim, Number> gradient (const Point &p, const unsigned int component = 0) const; - virtual void vector_gradient (const Point &p, + virtual void vector_gradient (const Point &p, std::vector > &gradients) const; - virtual void gradient_list (const std::vector > &points, + virtual void gradient_list (const std::vector > &points, std::vector > &gradients, const unsigned int component = 0) const; - virtual void vector_gradient_list (const std::vector > &points, + virtual void vector_gradient_list (const std::vector > &points, std::vector > > &gradients) const; }; @@ -397,17 +397,17 @@ public: */ virtual ~ConstantFunction (); - virtual Number value (const Point &p, + virtual Number value (const Point &p, const unsigned int component) const; - virtual void vector_value (const Point &p, + virtual void vector_value (const Point &p, Vector &return_value) const; - virtual void value_list (const std::vector > &points, + virtual void value_list (const std::vector > &points, std::vector &values, const unsigned int component = 0) const; - virtual void vector_value_list (const std::vector > &points, + virtual void vector_value_list (const std::vector > &points, std::vector > &values) const; std::size_t memory_consumption () const; @@ -468,7 +468,7 @@ public: /** * Return the value of the function at the given point for all components. */ - virtual void vector_value (const Point &p, + virtual void vector_value (const Point &p, Vector &return_value) const; /** @@ -477,7 +477,7 @@ public: * already has the right size, i.e. the same size as the points * array. */ - virtual void vector_value_list (const std::vector > &points, + virtual void vector_value_list (const std::vector > &points, std::vector > &values) const; /** @@ -501,7 +501,7 @@ protected: /** * This class provides a way to convert a scalar function of the kind * @code - * Number foo (const Point &); + * Number foo (const Point &); * @endcode * into an object of type Function@. Since the argument returns a * scalar, the result is clearly a Function object for which @@ -530,7 +530,7 @@ protected: * template * class Norm : public Function { * public: - * virtual Number value (const Point &p, + * virtual Number value (const Point &p, * const unsigned int component) const { * Assert (component == 0, ExcMessage ("This object is scalar!")); * return p.norm(); @@ -542,7 +542,7 @@ protected: * and then pass the my_norm_object around, or you could write it * like so: * @code - * ScalarFunctionFromFunctionObject my_norm_object (&Point::norm); + * ScalarFunctionFromFunctionObject my_norm_object (&Point::norm); * @endcode * * Similarly, to generate an object that computes the distance to a point @@ -551,14 +551,14 @@ protected: * template * class DistanceTo : public Function { * public: - * DistanceTo (const Point &q) : q(q) {} - * virtual Number value (const Point &p, + * DistanceTo (const Point &q) : q(q) {} + * virtual Number value (const Point &p, * const unsigned int component) const { * Assert (component == 0, ExcMessage ("This object is scalar!")); * return q.distance(p); * } * private: - * const Point q; + * const Point q; * }; * * Point<2> q (2,3); @@ -567,7 +567,7 @@ protected: * or we could write it like so: * @code * ScalarFunctionFromFunctionObject - * my_distance_object (std_cxx11::bind (&Point::distance, + * my_distance_object (std_cxx11::bind (&Point::distance, * q, * std_cxx11::_1)); * @endcode @@ -584,13 +584,13 @@ public: * convert this into an object that matches the Function * interface. */ - ScalarFunctionFromFunctionObject (const std_cxx11::function &)> &function_object); + ScalarFunctionFromFunctionObject (const std_cxx11::function &)> &function_object); /** * Return the value of the function at the given point. Returns the value * the function given to the constructor produces for this point. */ - virtual Number value (const Point &p, + virtual Number value (const Point &p, const unsigned int component = 0) const; private: @@ -598,7 +598,7 @@ private: * The function object which we call when this class's value() or * value_list() functions are called. */ - const std_cxx11::function &)> function_object; + const std_cxx11::function &)> function_object; }; @@ -651,7 +651,7 @@ public: * @param selected_component The single component that should be filled by * the first argument. */ - VectorFunctionFromScalarFunctionObject (const std_cxx11::function &)> &function_object, + VectorFunctionFromScalarFunctionObject (const std_cxx11::function &)> &function_object, const unsigned int selected_component, const unsigned int n_components); @@ -659,7 +659,7 @@ public: * Return the value of the function at the given point. Returns the value * the function given to the constructor produces for this point. */ - virtual Number value (const Point &p, + virtual Number value (const Point &p, const unsigned int component = 0) const; /** @@ -667,7 +667,7 @@ public: * * values shall have the right size beforehand, i.e. #n_components. */ - virtual void vector_value (const Point &p, + virtual void vector_value (const Point &p, Vector &values) const; private: @@ -675,7 +675,7 @@ private: * The function object which we call when this class's value() or * value_list() functions are called. */ - const std_cxx11::function &)> function_object; + const std_cxx11::function &)> function_object; /** * The vector component whose value is to be filled by the given scalar @@ -752,7 +752,7 @@ public: /** * Return a single component of a vector-valued function at a given point. */ - virtual Number value (const Point &p, + virtual Number value (const Point &p, const unsigned int component = 0) const; /** @@ -760,7 +760,7 @@ public: * * values shall have the right size beforehand, i.e. #n_components. */ - virtual void vector_value (const Point &p, + virtual void vector_value (const Point &p, Vector &values) const; /** @@ -770,7 +770,7 @@ public: * element of the vector will be passed to vector_value() to evaluate the * function */ - virtual void vector_value_list (const std::vector > &points, + virtual void vector_value_list (const std::vector > &points, std::vector > &value_list) const; private: diff --git a/include/deal.II/base/tensor_function.h b/include/deal.II/base/tensor_function.h index 24871219a7..7b92000d2d 100644 --- a/include/deal.II/base/tensor_function.h +++ b/include/deal.II/base/tensor_function.h @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 1999 - 2014 by the deal.II authors +// Copyright (C) 1999 - 2015 by the deal.II authors // // This file is part of the deal.II library. // @@ -80,27 +80,27 @@ public: /** * Return the value of the function at the given point. */ - virtual value_type value (const Point &p) const; + virtual value_type value (const Point &p) const; /** * Set values to the point values of the function at the * points. It is assumed that values already has the * right size, i.e. the same size as the points array. */ - virtual void value_list (const std::vector > &points, + virtual void value_list (const std::vector > &points, std::vector &values) const; /** * Return the gradient of the function at the given point. */ - virtual gradient_type gradient (const Point &p) const; + virtual gradient_type gradient (const Point &p) const; /** * Set gradients to the gradients of the function at the * points. It is assumed that values already has the * right size, i.e. the same size as the points array. */ - virtual void gradient_list (const std::vector > &points, + virtual void gradient_list (const std::vector > &points, std::vector &gradients) const; /** @@ -142,14 +142,14 @@ public: virtual ~ConstantTensorFunction (); - virtual typename dealii::TensorFunction::value_type value (const Point &p) const; + virtual typename dealii::TensorFunction::value_type value (const Point &p) const; - virtual void value_list (const std::vector > &points, + virtual void value_list (const std::vector > &points, std::vector::value_type> &values) const; - virtual typename dealii::TensorFunction::gradient_type gradient (const Point &p) const; + virtual typename dealii::TensorFunction::gradient_type gradient (const Point &p) const; - virtual void gradient_list (const std::vector > &points, + virtual void gradient_list (const std::vector > &points, std::vector::gradient_type> &gradients) const; private: diff --git a/source/base/function.cc b/source/base/function.cc index c1f4220e27..826f1bc8a9 100644 --- a/source/base/function.cc +++ b/source/base/function.cc @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 1998 - 2014 by the deal.II authors +// Copyright (C) 1998 - 2015 by the deal.II authors // // This file is part of the deal.II library. // @@ -59,7 +59,7 @@ Function &Function::operator= (const Function &f) template -Number Function::value (const Point &, +Number Function::value (const Point &, const unsigned int) const { Assert (false, ExcPureFunctionCalled()); @@ -68,7 +68,7 @@ Number Function::value (const Point &, template -void Function::vector_value (const Point &p, +void Function::vector_value (const Point &p, Vector &v) const { AssertDimension(v.size(), this->n_components); @@ -78,7 +78,7 @@ void Function::vector_value (const Point &p, template -void Function::value_list (const std::vector > &points, +void Function::value_list (const std::vector > &points, std::vector &values, const unsigned int component) const { @@ -94,7 +94,7 @@ void Function::value_list (const std::vector > & template -void Function::vector_value_list (const std::vector > &points, +void Function::vector_value_list (const std::vector > &points, std::vector > &values) const { // check whether component is in @@ -110,7 +110,7 @@ void Function::vector_value_list (const std::vector void Function::vector_values ( - const std::vector > &points, + const std::vector > &points, std::vector > &values) const { const unsigned int n = this->n_components; @@ -121,17 +121,17 @@ void Function::vector_values ( template -Tensor<1,dim,Number> Function::gradient (const Point &, +Tensor<1,dim,Number> Function::gradient (const Point &, const unsigned int) const { Assert (false, ExcPureFunctionCalled()); - return Point(); + return Point(); } template void Function::vector_gradient ( - const Point &p, + const Point &p, std::vector > &v) const { AssertDimension(v.size(), this->n_components); @@ -141,7 +141,7 @@ void Function::vector_gradient ( template -void Function::gradient_list (const std::vector > &points, +void Function::gradient_list (const std::vector > &points, std::vector > &gradients, const unsigned int component) const { @@ -154,7 +154,7 @@ void Function::gradient_list (const std::vector template -void Function::vector_gradient_list (const std::vector > &points, +void Function::vector_gradient_list (const std::vector > &points, std::vector > > &gradients) const { Assert (gradients.size() == points.size(), @@ -171,7 +171,7 @@ void Function::vector_gradient_list (const std::vector void Function::vector_gradients ( - const std::vector > &points, + const std::vector > &points, std::vector > > &values) const { const unsigned int n = this->n_components; @@ -183,7 +183,7 @@ void Function::vector_gradients ( template -Number Function::laplacian (const Point &, +Number Function::laplacian (const Point &, const unsigned int) const { Assert (false, ExcPureFunctionCalled()); @@ -192,7 +192,7 @@ Number Function::laplacian (const Point &, template -void Function::vector_laplacian (const Point &, +void Function::vector_laplacian (const Point &, Vector &) const { Assert (false, ExcPureFunctionCalled()); @@ -201,7 +201,7 @@ void Function::vector_laplacian (const Point &, template -void Function::laplacian_list (const std::vector > &points, +void Function::laplacian_list (const std::vector > &points, std::vector &laplacians, const unsigned int component) const { @@ -217,7 +217,7 @@ void Function::laplacian_list (const std::vector template -void Function::vector_laplacian_list (const std::vector > &points, +void Function::vector_laplacian_list (const std::vector > &points, std::vector > &laplacians) const { // check whether component is in @@ -257,7 +257,7 @@ ZeroFunction::~ZeroFunction () template -Number ZeroFunction::value (const Point &, +Number ZeroFunction::value (const Point &, const unsigned int) const { return 0.; @@ -265,7 +265,7 @@ Number ZeroFunction::value (const Point &, template -void ZeroFunction::vector_value (const Point &, +void ZeroFunction::vector_value (const Point &, Vector &return_value) const { Assert (return_value.size() == this->n_components, @@ -276,7 +276,7 @@ void ZeroFunction::vector_value (const Point &, template -void ZeroFunction::value_list (const std::vector > &points, +void ZeroFunction::value_list (const std::vector > &points, std::vector &values, const unsigned int /*component*/) const { @@ -288,7 +288,7 @@ void ZeroFunction::value_list (const std::vector template -void ZeroFunction::vector_value_list (const std::vector > &points, +void ZeroFunction::vector_value_list (const std::vector > &points, std::vector > &values) const { Assert (values.size() == points.size(), @@ -304,7 +304,7 @@ void ZeroFunction::vector_value_list (const std::vector -Tensor<1,dim,Number> ZeroFunction::gradient (const Point &, +Tensor<1,dim,Number> ZeroFunction::gradient (const Point &, const unsigned int) const { return Tensor<1,dim,Number>(); @@ -312,7 +312,7 @@ Tensor<1,dim,Number> ZeroFunction::gradient (const Point -void ZeroFunction::vector_gradient (const Point &, +void ZeroFunction::vector_gradient (const Point &, std::vector > &gradients) const { Assert (gradients.size() == this->n_components, @@ -324,7 +324,7 @@ void ZeroFunction::vector_gradient (const Point &, template -void ZeroFunction::gradient_list (const std::vector > &points, +void ZeroFunction::gradient_list (const std::vector > &points, std::vector > &gradients, const unsigned int /*component*/) const { @@ -337,7 +337,7 @@ void ZeroFunction::gradient_list (const std::vector -void ZeroFunction::vector_gradient_list (const std::vector > &points, +void ZeroFunction::vector_gradient_list (const std::vector > &points, std::vector > > &gradients) const { Assert (gradients.size() == points.size(), @@ -370,7 +370,7 @@ ConstantFunction::~ConstantFunction () {} template -Number ConstantFunction::value (const Point &, +Number ConstantFunction::value (const Point &, const unsigned int component) const { Assert (component < this->n_components, @@ -381,7 +381,7 @@ Number ConstantFunction::value (const Point &, template -void ConstantFunction::vector_value (const Point &, +void ConstantFunction::vector_value (const Point &, Vector &return_value) const { Assert (return_value.size() == this->n_components, @@ -393,7 +393,7 @@ void ConstantFunction::vector_value (const Point &, template -void ConstantFunction::value_list (const std::vector > &points, +void ConstantFunction::value_list (const std::vector > &points, std::vector &values, const unsigned int component) const { @@ -408,7 +408,7 @@ void ConstantFunction::value_list (const std::vector -void ConstantFunction::vector_value_list (const std::vector > &points, +void ConstantFunction::vector_value_list (const std::vector > &points, std::vector > &values) const { Assert (values.size() == points.size(), @@ -480,7 +480,7 @@ ComponentSelectFunction (const std::pair &selected, template -void ComponentSelectFunction::vector_value (const Point &, +void ComponentSelectFunction::vector_value (const Point &, Vector &return_value) const { Assert (return_value.size() == this->n_components, @@ -495,7 +495,7 @@ void ComponentSelectFunction::vector_value (const Point -void ComponentSelectFunction::vector_value_list (const std::vector > &points, +void ComponentSelectFunction::vector_value_list (const std::vector > &points, std::vector > &values) const { Assert (values.size() == points.size(), @@ -520,7 +520,7 @@ ComponentSelectFunction::memory_consumption () const template ScalarFunctionFromFunctionObject:: -ScalarFunctionFromFunctionObject (const std_cxx11::function &)> &function_object) +ScalarFunctionFromFunctionObject (const std_cxx11::function &)> &function_object) : Function(1), function_object (function_object) @@ -530,7 +530,7 @@ ScalarFunctionFromFunctionObject (const std_cxx11::function Number -ScalarFunctionFromFunctionObject::value (const Point &p, +ScalarFunctionFromFunctionObject::value (const Point &p, const unsigned int component) const { Assert (component == 0, @@ -542,7 +542,7 @@ ScalarFunctionFromFunctionObject::value (const Point & template VectorFunctionFromScalarFunctionObject:: -VectorFunctionFromScalarFunctionObject (const std_cxx11::function &)> &function_object, +VectorFunctionFromScalarFunctionObject (const std_cxx11::function &)> &function_object, const unsigned int selected_component, const unsigned int n_components) : @@ -558,7 +558,7 @@ VectorFunctionFromScalarFunctionObject (const std_cxx11::function Number -VectorFunctionFromScalarFunctionObject::value (const Point &p, +VectorFunctionFromScalarFunctionObject::value (const Point &p, const unsigned int component) const { Assert (component < this->n_components, @@ -575,7 +575,7 @@ VectorFunctionFromScalarFunctionObject::value (const Point void VectorFunctionFromScalarFunctionObject:: -vector_value (const Point &p, +vector_value (const Point &p, Vector &values) const { AssertDimension(values.size(), this->n_components); @@ -615,7 +615,7 @@ VectorFunctionFromTensorFunction::~VectorFunctionFromTensorFunction template inline -Number VectorFunctionFromTensorFunction::value (const Point &p, +Number VectorFunctionFromTensorFunction::value (const Point &p, const unsigned int component) const { Assert (componentn_components, @@ -639,7 +639,7 @@ Number VectorFunctionFromTensorFunction::value (const Point inline -void VectorFunctionFromTensorFunction::vector_value (const Point &p, +void VectorFunctionFromTensorFunction::vector_value (const Point &p, Vector &values) const { Assert(values.size() == this->n_components, @@ -660,12 +660,12 @@ void VectorFunctionFromTensorFunction::vector_value (const Pointvector_value_list is the interface for giving a list of - * points (vector >) of which to evaluate using the vector_value + * points (vector >) of which to evaluate using the vector_value * member function. Again, this function is written so as to not replicate the function definition * but passes each point on to vector_value to be evaluated. */ template -void VectorFunctionFromTensorFunction::vector_value_list (const std::vector > &points, +void VectorFunctionFromTensorFunction::vector_value_list (const std::vector > &points, std::vector > &value_list) const { Assert (value_list.size() == points.size(), diff --git a/source/base/tensor_function.cc b/source/base/tensor_function.cc index ad4eb8e197..f9eb5a3da4 100644 --- a/source/base/tensor_function.cc +++ b/source/base/tensor_function.cc @@ -1,6 +1,6 @@ // --------------------------------------------------------------------- // -// Copyright (C) 1999 - 2014 by the deal.II authors +// Copyright (C) 1999 - 2015 by the deal.II authors // // This file is part of the deal.II library. // @@ -42,7 +42,7 @@ TensorFunction::~TensorFunction () template typename TensorFunction::value_type -TensorFunction::value (const Point &) const +TensorFunction::value (const Point &) const { Assert (false, ExcPureFunctionCalled()); return Tensor(); @@ -51,7 +51,7 @@ TensorFunction::value (const Point &) const template void -TensorFunction::value_list (const std::vector > &points, +TensorFunction::value_list (const std::vector > &points, std::vector &values) const { Assert (values.size() == points.size(), @@ -64,7 +64,7 @@ TensorFunction::value_list (const std::vector typename TensorFunction::gradient_type -TensorFunction::gradient (const Point &) const +TensorFunction::gradient (const Point &) const { Assert (false, ExcPureFunctionCalled()); return Tensor(); @@ -73,7 +73,7 @@ TensorFunction::gradient (const Point &) const template void -TensorFunction::gradient_list (const std::vector > &points, +TensorFunction::gradient_list (const std::vector > &points, std::vector &gradients) const { Assert (gradients.size() == points.size(), @@ -106,7 +106,7 @@ ConstantTensorFunction::~ConstantTensorFunction () template typename TensorFunction::value_type -ConstantTensorFunction::value (const Point &/*point*/) const +ConstantTensorFunction::value (const Point &/*point*/) const { return _value; } @@ -114,7 +114,7 @@ ConstantTensorFunction::value (const Point &/*poi template void -ConstantTensorFunction::value_list (const std::vector > &points, +ConstantTensorFunction::value_list (const std::vector > &points, std::vector::value_type> &values) const { Assert (values.size() == points.size(), @@ -127,7 +127,7 @@ ConstantTensorFunction::value_list (const std::vector typename TensorFunction::gradient_type -ConstantTensorFunction::gradient (const Point &) const +ConstantTensorFunction::gradient (const Point &) const { static const Tensor zero; @@ -137,7 +137,7 @@ ConstantTensorFunction::gradient (const Point &) template void -ConstantTensorFunction::gradient_list (const std::vector > &points, +ConstantTensorFunction::gradient_list (const std::vector > &points, std::vector::gradient_type> &gradients) const { Assert (gradients.size() == points.size(),