7 template <
typename Real>
13 template <
typename Real>
19 template <
typename Real>
27 template <
typename Real>
35 template <
typename Real>
44 template <
typename Real>
59 template <
typename Real>
67 template <
typename Real>
75 template <
typename Real>
78 double j = m_real * other.
m_real + m_imag * other.
m_imag;
79 double k = m_real * other.
m_imag + m_imag * other.
m_real;
85 template <
typename Real>
97 template <
typename Real>
107 template <
typename Real>
119 template <
typename Real>
122 return !(*
this == other);
126 template <
typename Real>
135 template <
typename Real>
144 template <
typename Real>
154 template <
typename Real>
163 template <
typename Real>
171 template <
typename Real>
178 template <
typename Real>
187 template <
typename Real>
196 template <
typename Real>
206 template <
typename Real>
214 template <
typename Real>
221 template <
typename Real>
228 template <
typename Real>
234 template <
typename S,
typename T>
237 return complex + (
T)scale;
240 template <
typename S,
typename T>
246 template <
typename S,
typename T>
249 return complex * (
T)scale;
252 template <
typename S,
typename T>
272 template<
typename Real>
278 template<
typename Real>
281 if (isnan(__rho) || signbit(__rho))
295 Real __x = __rho * glm::cos(__theta);
298 Real __y = __rho * glm::sin(__theta);
304 template<
typename Real>
312 template<
typename Real>
320 template<
typename Real>
348 else if (__i == 0 || !isfinite(__i))
358 return Complex<Real>(__e * glm::cos(__i), __e * glm::sin(__i));
366 return exp(__y *
log(__x));
386 const Real __pi(atan2(+0., -0.));
429 const Real __pi(atan2(+0., -0.));
460 const Real __pi(atan2(+0., -0.));
521 const Real __pi(atan2(+0., -0.));
DYN_FUNC const Complex< Real > operator+(const Complex< Real > &other) const
DYN_FUNC bool operator==(const Complex< Real > &other) const
DYN_FUNC Real realPart() const
DYN_FUNC Real normSquared() const
DYN_FUNC const Complex< Real > operator*(const Complex< Real > &other) const
DYN_FUNC Real norm() const
DYN_FUNC Complex< Real > & operator/=(const Complex< Real > &other)
DYN_FUNC Complex< Real > & operator-=(const Complex< Real > &other)
DYN_FUNC const Complex< Real > operator-(void) const
DYN_FUNC const Complex< Real > operator/(const Complex< Real > &other) const
DYN_FUNC bool operator!=(const Complex< Real > &other) const
DYN_FUNC Real imagPart() const
DYN_FUNC Complex< Real > & operator*=(const Complex< Real > &other)
DYN_FUNC Complex< Real > conjugate() const
DYN_FUNC bool isReal() const
DYN_FUNC Complex< Real > & operator=(const Complex< Real > &other)
DYN_FUNC Complex< Real > & operator+=(const Complex< Real > &other)
This is an implementation of AdditiveCCD based on peridyno.
DYN_FUNC Complex< Real > cosh(const Complex< Real > &)
DYN_FUNC Real arg(const Complex< Real > &)
DYN_FUNC Complex< Real > atanh(const Complex< Real > &)
DYN_FUNC Complex< Real > tanh(const Complex< Real > &)
DYN_FUNC Complex< Real > log(const Complex< Real > &)
DYN_FUNC Complex< Real > sin(const Complex< Real > &)
DYN_FUNC Complex< Real > pow(const Complex< Real > &, const Real &)
DYN_FUNC Complex< Real > tan(const Complex< Real > &)
DYN_FUNC Complex< Real > cos(const Complex< Real > &)
DYN_FUNC const Complex< T > operator/(S scale, const Complex< T > &complex)
DYN_FUNC const Complex< T > operator*(S scale, const Complex< T > &complex)
constexpr Real REAL_EPSILON
DYN_FUNC Complex< Real > acos(const Complex< Real > &)
DYN_FUNC Complex< Real > acosh(const Complex< Real > &)
DYN_FUNC Complex< Real > asinh(const Complex< Real > &)
DYN_FUNC Complex< Real > exp(const Complex< Real > &)
DYN_FUNC Complex< Real > sqrt(const Complex< Real > &)
DYN_FUNC Complex< Real > polar(const Real &__rho, const Real &__theta=Real(0))
DYN_FUNC Complex< Real > log10(const Complex< Real > &)
DYN_FUNC Complex< Real > sinh(const Complex< Real > &)
DYN_FUNC const Complex< T > operator-(S scale, const Complex< T > &complex)
DYN_FUNC const Complex< T > operator+(S scale, const Complex< T > &complex)
DYN_FUNC Complex< Real > asin(const Complex< Real > &)
DYN_FUNC Complex< Real > atan(const Complex< Real > &)