]> www.ginac.de Git - ginac.git/blobdiff - ginac/inifcns.cpp
Improve abs(arg).
[ginac.git] / ginac / inifcns.cpp
index 28d54fed3e79924dffbd95c457add5ff2bbd662a..ecb6e0072fb8333067ab5c54ba8d7453c0dacc97 100644 (file)
@@ -273,6 +273,9 @@ static ex abs_eval(const ex & arg)
        if (arg.info(info_flags::nonnegative))
                return arg;
 
+       if (arg.info(info_flags::negative) || (-arg).info(info_flags::nonnegative))
+               return -arg;
+
        if (is_ex_the_function(arg, abs))
                return arg;