id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
21614,"Doctest fix for: Make atan2(0,0) return NaN",rws,,"Same with `tan` and `imag`:
{{{
sage: real(sqrt(sin(x)))
sqrt(abs(sin(x)))*cos(1/2*arctan2(cos(real_part(x))*sinh(imag_part(x)), cosh(imag_part(x))*sin(real_part(x))))
sage: _.subs(x==0)
...
RuntimeError: arctan2_eval(): arctan2(0,0) encountered
}}}
!SymPy expands similarly but gives NaN on substitution instead of an exception.
This all would not be of concern if not 3d plotting would likely need real/imag parts of a function, their workaround `real(...,hold=True)` works perfectly but this is not the general solution that is needed.
One solution would be to return `NaN` instead of throwing up.",defect,closed,minor,sage-7.4,symbolics,fixed,,,,Ralf Stephan,Jeroen Demeyer,N/A,,fda5183e4f4cbf498d23744924694756ec5e9a51,fda5183e4f4cbf498d23744924694756ec5e9a51,#21623,