]> www.ginac.de Git - ginac.git/commitdiff
Fixed a bug in atan2. It gave a division by zero error for calls like
authorJens Vollinga <jensv@nikhef.nl>
Thu, 25 Mar 2010 09:36:41 +0000 (10:36 +0100)
committerJens Vollinga <jensv@nikhef.nl>
Thu, 25 Mar 2010 09:39:56 +0000 (10:39 +0100)
atan2(-Pi,0), because arguments like -Pi were not recognized (via
info_flags) as negative but as real nevertheless.
(cherry picked from commit 9e13d46552bb7852399867b9eb355732b9ded59e)

ginac/inifcns_trans.cpp

index 39931dcd738cf5a72cebd371468726c88fa1809f..3f161d218c068e2a4d016fce5d5cfcb2d32f789e 100644 (file)
@@ -842,7 +842,7 @@ static ex atan2_eval(const ex & y, const ex & x)
                        return _ex1_2*Pi;
 
                // atan(y, 0), y real and negative -> -Pi/2
-               if (y.info(info_flags::negative))
+               if (y.info(info_flags::real) && !y.is_zero())
                        return _ex_1_2*Pi;
        }