atan2(x,x)



Although undocumented, when %piargs is true (the default), atan(x,x)
triggers an asksign:

 (%i1) atan2(x,x); Is x positive or negative? pos; (%o1) %pi/4

 (%i2) atan2(x,x), %piargs : false; (%o2) atan2(x,x)

It's a bit silly: atan2(sqrt(3) * x,x) doesn't trigger an asksign.

Generally, I think simplifying functions should not call asksign.
Avoiding the asksign in atan2 by setting %piargs to false isn't much
of an option---it causes bugs in limit and integrate. We could do

  atan2(x,x) --> if equal(x,0) then und else signum(x) * %pi / 4,

but this is more of a mess than a simplification, I think. If it's OK
with you all, I propose that we (we = I) eliminate the asksign stuff
from atan2. We'll still get things like

 assume(x > 0); atan2(x,x) --> %pi / 4.

A better atan2 function should pave the way for a better carg
function.

By the way, even with the assumption x # 0,

  atan2(x,x) = signum(x) * %pi / 4

is a problem when atan2 is extended to nonreal arguments, I think.

Barton