- // atan(float, float) -> float
- if (!y.info(info_flags::crational) && !x.info(info_flags::crational))
- return atan(ex_to<numeric>(y), ex_to<numeric>(x));
-
- // atan(real, real) -> atan(y/x) +/- Pi
- if (y.info(info_flags::real) && x.info(info_flags::real)) {
- if (x.info(info_flags::positive))
- return atan(y/x);
- else if(y.info(info_flags::positive))
- return atan(y/x)+Pi;
- else
- return atan(y/x)-Pi;
- }
+ // atan(real, real) -> atan(y/x) +/- Pi
+ if (y.info(info_flags::real) && x.info(info_flags::real)) {
+ if (x.info(info_flags::positive))
+ return atan(y/x);
+ else if(y.info(info_flags::positive))
+ return atan(y/x)+Pi;
+ else
+ return atan(y/x)-Pi;