From: Pierangelo Masarati Date: Wed, 17 Jun 2020 17:52:49 +0000 (+0200) Subject: Improve diff(abs(x)) for real x. X-Git-Tag: release_1-7-10~5 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=fa1ffcfdc9da97a6fb7cc2c9c36fe1fc45c808a9 Improve diff(abs(x)) for real x. --- diff --git a/ginac/inifcns.cpp b/ginac/inifcns.cpp index d68afbb5..ec74a435 100644 --- a/ginac/inifcns.cpp +++ b/ginac/inifcns.cpp @@ -321,6 +321,8 @@ static ex abs_expand(const ex & arg, unsigned options) static ex abs_expl_derivative(const ex & arg, const symbol & s) { ex diff_arg = arg.diff(s); + if (arg.info(info_flags::real)) + return diff_arg*(2*step(arg) - 1); return (diff_arg*arg.conjugate()+arg*diff_arg.conjugate())/2/abs(arg); }