1 # ifndef CPPAD_CORE_ATAN2_HPP
2 # define CPPAD_CORE_ATAN2_HPP
86 inline float atan2(
float x,
float y)
89 inline double atan2(
double x,
double y)
110 alpha =
atan(ay / ax);
111 beta = pi2 -
atan(ax / ay);
116 theta =
CondExpLe(x, zero, pi - theta, theta);
120 theta =
CondExpLe(y, zero, -theta, theta);
126 template <
class Base>
130 template <
class Base>
134 template <
class Base>
135 inline AD<Base>
atan2
CPPAD_INLINE_FRIEND_TEMPLATE_FUNCTION AD< Base > CondExpGt(const AD< Base > &left, const AD< Base > &right, const AD< Base > &if_true, const AD< Base > &if_false)
std::complex< double > atan(const std::complex< double > &x)
float atan2(float x, float y)
AD< Base > ADBase(void) const
Conversion from VecAD_reference to AD<Base>. puts the correspond vecad load instruction in the tape...
CPPAD_INLINE_FRIEND_TEMPLATE_FUNCTION AD< Base > CondExpLe(const AD< Base > &left, const AD< Base > &right, const AD< Base > &if_true, const AD< Base > &if_false)
Class used to hold a reference to an element of a VecAD object.
std::complex< double > fabs(const std::complex< double > &x)