From: Jens Vollinga Date: Thu, 25 Mar 2010 09:36:41 +0000 (+0100) Subject: Fixed a bug in atan2. It gave a division by zero error for calls like X-Git-Tag: release_1-6-0~62^2 X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=commitdiff_plain;h=9e13d46552bb7852399867b9eb355732b9ded59e Fixed a bug in atan2. It gave a division by zero error for calls like atan2(-Pi,0), because arguments like -Pi were not recognized (via info_flags) as negative but as real nevertheless. --- diff --git a/ginac/inifcns_trans.cpp b/ginac/inifcns_trans.cpp index 39931dcd..3f161d21 100644 --- a/ginac/inifcns_trans.cpp +++ b/ginac/inifcns_trans.cpp @@ -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; }