X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Ffderivative.cpp;h=b8ad07a8ada48b63b4c316445b622805026dc1a8;hp=81e2566da363726d3f45f8df4d8b03406187f02d;hb=c12c8ec3c5cf0c75f061f6c52d04206277bbdcca;hpb=67edef78ce992a8f6ad704bfac228b8dec6eacd2 diff --git a/ginac/fderivative.cpp b/ginac/fderivative.cpp index 81e2566d..b8ad07a8 100644 --- a/ginac/fderivative.cpp +++ b/ginac/fderivative.cpp @@ -3,7 +3,7 @@ * Implementation of abstract derivatives of functions. */ /* - * GiNaC Copyright (C) 1999-2010 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2016 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -55,7 +55,7 @@ fderivative::fderivative(unsigned ser, const paramset & params, const exvector & { } -fderivative::fderivative(unsigned ser, const paramset & params, std::auto_ptr vp) : function(ser, vp), parameter_set(params) +fderivative::fderivative(unsigned ser, const paramset & params, exvector && v) : function(ser, std::move(v)), parameter_set(params) { } @@ -139,13 +139,8 @@ void fderivative::do_print_tree(const print_tree & c, unsigned level) const c.s << std::string(level + c.delta_indent, ' ') << "=====" << std::endl; } -ex fderivative::eval(int level) const +ex fderivative::eval() const { - if (level > 1) { - // first evaluate children, then we will end up here again - return fderivative(serial, parameter_set, evalchildren(level)); - } - // No parameters specified? Then return the function itself if (parameter_set.empty()) return function(serial, seq); @@ -157,13 +152,6 @@ ex fderivative::eval(int level) const return this->hold(); } -/** Numeric evaluation falls back to evaluation of arguments. - * @see basic::evalf */ -ex fderivative::evalf(int level) const -{ - return basic::evalf(level); -} - /** The series expansion of derivatives falls back to Taylor expansion. * @see basic::series */ ex fderivative::series(const relational & r, int order, unsigned options) const @@ -176,9 +164,9 @@ ex fderivative::thiscontainer(const exvector & v) const return fderivative(serial, parameter_set, v); } -ex fderivative::thiscontainer(std::auto_ptr vp) const +ex fderivative::thiscontainer(exvector && v) const { - return fderivative(serial, parameter_set, vp); + return fderivative(serial, parameter_set, std::move(v)); } /** Implementation of ex::diff() for derivatives. It applies the chain rule.