libstdc++

Complex Numbers

Collaboration diagram for Complex Numbers:

Classes

struct  std::complex< _Tp >
struct  std::complex< double >
 26.2.3 complex specializations complex<double> specialization More...
struct  std::complex< float >
 26.2.3 complex specializations complex<float> specialization More...
struct  std::complex< long double >
 26.2.3 complex specializations complex<long double> specialization More...

Functions

constexpr std::complex< float >::complex (const complex< long double > &)
template<typename _Tp >
_Tp std::__complex_abs (const complex< _Tp > &__z)
template<typename _Tp >
std::complex< _Tp > std::tr1::__complex_acosh (const std::complex< _Tp > &__z)
template<typename _Tp >
_Tp std::__complex_arg (const complex< _Tp > &__z)
template<typename _Tp >
std::complex< _Tp > std::tr1::__complex_asinh (const std::complex< _Tp > &__z)
template<typename _Tp >
std::complex< _Tp > std::tr1::__complex_atanh (const std::complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_cos (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_cosh (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_exp (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_log (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_pow (const complex< _Tp > &__x, const complex< _Tp > &__y)
template<typename _Tp >
complex< _Tp > std::__complex_sin (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_sinh (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_sqrt (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_tan (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::__complex_tanh (const complex< _Tp > &__z)
template<typename _Tp >
_Tp std::abs (const complex< _Tp > &)
template<typename _Tp >
std::complex< _Tp > std::tr1::acosh (const std::complex< _Tp > &__z)
template<typename _Tp >
_Tp std::arg (const complex< _Tp > &)
template<typename _Tp >
std::complex< _Tp > std::tr1::asinh (const std::complex< _Tp > &__z)
template<typename _Tp >
std::complex< _Tp > std::tr1::atanh (const std::complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::conj (const complex< _Tp > &)
template<typename _Tp >
std::complex< typename
__gnu_cxx::__promote< _Tp >
::__type > 
std::tr1::conj (_Tp __x)
template<typename _Tp >
complex< _Tp > std::cos (const complex< _Tp > &)
template<typename _Tp >
complex< _Tp > std::cosh (const complex< _Tp > &)
template<typename _Tp >
complex< _Tp > std::exp (const complex< _Tp > &)
template<typename _Tp >
std::complex< _Tp > std::tr1::fabs (const std::complex< _Tp > &__z)
template<typename _Tp >
constexpr _Tp std::imag (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::log (const complex< _Tp > &)
template<typename _Tp >
complex< _Tp > std::log10 (const complex< _Tp > &)
template<typename _Tp >
_Tp std::norm (const complex< _Tp > &)
template<typename _Up >
complex< _Tp > & std::complex::operator*= (const complex< _Up > &)
complex< _Tp > & std::complex::operator*= (const _Tp &)
template<typename _Tp >
complex< _Tp > std::operator+ (const complex< _Tp > &__x)
template<typename _Up >
complex< _Tp > & std::complex::operator+= (const complex< _Up > &)
template<typename _Tp >
complex< _Tp > std::operator- (const complex< _Tp > &__x)
template<typename _Up >
complex< _Tp > & std::complex::operator-= (const complex< _Up > &)
template<typename _Up >
complex< _Tp > & std::complex::operator/= (const complex< _Up > &)
complex< _Tp > & std::complex::operator/= (const _Tp &)
template<typename _Tp , typename _CharT , class _Traits >
basic_ostream< _CharT, _Traits > & std::operator<< (basic_ostream< _CharT, _Traits > &__os, const complex< _Tp > &__x)
template<typename _Up >
complex< _Tp > & std::complex::operator= (const complex< _Up > &)
complex< _Tp > & std::complex::operator= (const _Tp &)
template<typename _Tp , typename _CharT , class _Traits >
basic_istream< _CharT, _Traits > & std::operator>> (basic_istream< _CharT, _Traits > &__is, complex< _Tp > &__x)
template<typename _Tp >
complex< _Tp > std::polar (const _Tp &, const _Tp &=0)
template<typename _Tp , typename _Up >
std::complex< typename
__gnu_cxx::__promote_2< _Tp,
_Up >::__type > 
std::tr1::polar (const _Tp &__rho, const _Up &__theta)
template<typename _Tp >
complex< _Tp > std::pow (const _Tp &, const complex< _Tp > &)
template<typename _Tp , typename _Up >
std::complex< typename
__gnu_cxx::__promote_2< _Tp,
_Up >::__type > 
std::tr1::pow (const std::complex< _Tp > &__x, const _Up &__y)
template<typename _Tp >
complex< _Tp > std::pow (const complex< _Tp > &, const complex< _Tp > &)
template<typename _Tp >
complex< _Tp > std::pow (const complex< _Tp > &, const _Tp &)
template<typename _Tp , typename _Up >
std::complex< typename
__gnu_cxx::__promote_2< _Tp,
_Up >::__type > 
std::tr1::pow (const _Tp &__x, const std::complex< _Up > &__y)
template<typename _Tp , typename _Up >
std::complex< typename
__gnu_cxx::__promote_2< _Tp,
_Up >::__type > 
std::tr1::pow (const std::complex< _Tp > &__x, const std::complex< _Up > &__y)
template<typename _Tp >
constexpr _Tp std::real (const complex< _Tp > &__z)
template<typename _Tp >
complex< _Tp > std::sin (const complex< _Tp > &)
template<typename _Tp >
complex< _Tp > std::sinh (const complex< _Tp > &)
template<typename _Tp >
complex< _Tp > std::sqrt (const complex< _Tp > &)
template<typename _Tp >
complex< _Tp > std::tan (const complex< _Tp > &)
template<typename _Tp >
complex< _Tp > std::tanh (const complex< _Tp > &)

template<typename _Tp >
complex< _Tp > std::operator+ (const complex< _Tp > &__x, const complex< _Tp > &__y)
template<typename _Tp >
complex< _Tp > std::operator+ (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp >
complex< _Tp > std::operator+ (const _Tp &__x, const complex< _Tp > &__y)

template<typename _Tp >
complex< _Tp > std::operator- (const complex< _Tp > &__x, const complex< _Tp > &__y)
template<typename _Tp >
complex< _Tp > std::operator- (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp >
complex< _Tp > std::operator- (const _Tp &__x, const complex< _Tp > &__y)

template<typename _Tp >
complex< _Tp > std::operator* (const complex< _Tp > &__x, const complex< _Tp > &__y)
template<typename _Tp >
complex< _Tp > std::operator* (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp >
complex< _Tp > std::operator* (const _Tp &__x, const complex< _Tp > &__y)

template<typename _Tp >
complex< _Tp > std::operator/ (const complex< _Tp > &__x, const complex< _Tp > &__y)
template<typename _Tp >
complex< _Tp > std::operator/ (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp >
complex< _Tp > std::operator/ (const _Tp &__x, const complex< _Tp > &__y)

template<typename _Tp >
constexpr bool std::operator== (const complex< _Tp > &__x, const complex< _Tp > &__y)
template<typename _Tp >
constexpr bool std::operator== (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp >
constexpr bool std::operator== (const _Tp &__x, const complex< _Tp > &__y)

template<typename _Tp >
constexpr bool std::operator!= (const complex< _Tp > &__x, const complex< _Tp > &__y)
template<typename _Tp >
constexpr bool std::operator!= (const complex< _Tp > &__x, const _Tp &__y)
template<typename _Tp >
constexpr bool std::operator!= (const _Tp &__x, const complex< _Tp > &__y)

Detailed Description

Classes and functions for complex numbers.


Function Documentation

template<typename _Tp >
_Tp std::abs ( const complex< _Tp > &  __z) [inline]
template<typename _Tp >
std::complex< _Tp > std::tr1::acosh ( const std::complex< _Tp > &  __z) [inline]

acosh(__z) [8.1.5].

Definition at line 215 of file tr1/complex.

template<typename _Tp >
_Tp std::arg ( const complex< _Tp > &  __z) [inline]

Return phase angle of z.

Definition at line 627 of file complex.

Referenced by std::arg(), and std::exp().

template<typename _Tp >
std::complex< _Tp > std::tr1::asinh ( const std::complex< _Tp > &  __z) [inline]

asinh(__z) [8.1.6].

Definition at line 254 of file tr1/complex.

template<typename _Tp >
std::complex< _Tp > std::tr1::atanh ( const std::complex< _Tp > &  __z) [inline]

atanh(__z) [8.1.7].

Definition at line 298 of file tr1/complex.

template<typename _Tp >
complex< _Tp > std::conj ( const complex< _Tp > &  __z) [inline]

Return complex conjugate of z.

Definition at line 673 of file complex.

template<typename _Tp >
complex< _Tp > std::cos ( const complex< _Tp > &  __z) [inline]

Return complex cosine of z.

Definition at line 705 of file complex.

References std::cosh(), std::sin(), and std::sinh().

Referenced by std::polar(), std::sin(), and std::sqrt().

template<typename _Tp >
complex< _Tp > std::cosh ( const complex< _Tp > &  __z) [inline]

Return complex hyperbolic cosine of z.

Definition at line 735 of file complex.

References std::exp(), and std::polar().

Referenced by std::cos(), std::sin(), and std::tan().

template<typename _Tp >
complex< _Tp > std::exp ( const complex< _Tp > &  __z) [inline]

Return complex base e exponential of z.

Definition at line 761 of file complex.

References std::abs(), std::arg(), and std::log().

Referenced by std::cosh(), and std::pow().

template<typename _Tp >
std::complex< _Tp > std::tr1::fabs ( const std::complex< _Tp > &  __z) [inline]

fabs(__z) [8.1.8].

Definition at line 307 of file tr1/complex.

References std::abs().

template<typename _Tp >
complex< _Tp > std::log ( const complex< _Tp > &  __z) [inline]
template<typename _Tp >
complex< _Tp > std::log10 ( const complex< _Tp > &  __z) [inline]

Return complex base 10 logarithm of z.

Definition at line 793 of file complex.

References std::log().

template<typename _Tp >
_Tp std::norm ( const complex< _Tp > &  __z) [inline]

Return z magnitude squared.

Definition at line 660 of file complex.

Referenced by std::complex< _Tp >::operator/=().

template<typename _Tp >
constexpr bool std::operator!= ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Return false if x is equal to y.

Definition at line 480 of file complex.

template<typename _Tp >
constexpr bool std::operator!= ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return false if x is equal to y.

Definition at line 475 of file complex.

template<typename _Tp >
constexpr bool std::operator!= ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Return false if x is equal to y.

Definition at line 485 of file complex.

template<typename _Tp >
complex<_Tp> std::operator* ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x times y.

Definition at line 385 of file complex.

template<typename _Tp >
complex<_Tp> std::operator* ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Return new complex value x times y.

Definition at line 394 of file complex.

template<typename _Tp >
complex<_Tp> std::operator* ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x times y.

Definition at line 403 of file complex.

template<typename _Tp >
complex< _Tp > & std::complex< _Tp >::operator*= ( const _Tp &  __t) [inherited]

Multiply this complex number by t.

Definition at line 244 of file complex.

template<typename _Tp >
template<typename _Up >
complex< _Tp > & std::complex< _Tp >::operator*= ( const complex< _Up > &  __z) [inherited]

Multiply this complex number by z.

Definition at line 298 of file complex.

template<typename _Tp >
complex<_Tp> std::operator+ ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x plus y.

Definition at line 325 of file complex.

template<typename _Tp >
complex<_Tp> std::operator+ ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x plus y.

Definition at line 343 of file complex.

template<typename _Tp >
complex<_Tp> std::operator+ ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Return new complex value x plus y.

Definition at line 334 of file complex.

template<typename _Tp >
complex<_Tp> std::operator+ ( const complex< _Tp > &  __x) [inline]

Return x.

Definition at line 444 of file complex.

template<typename _Tp >
template<typename _Up >
complex< _Tp > & std::complex< _Tp >::operator+= ( const complex< _Up > &  __z) [inherited]

Add z to this complex number.

Definition at line 275 of file complex.

template<typename _Tp >
complex<_Tp> std::operator- ( const complex< _Tp > &  __x) [inline]

Return complex negation of x.

Definition at line 450 of file complex.

template<typename _Tp >
complex<_Tp> std::operator- ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x minus y.

Definition at line 355 of file complex.

template<typename _Tp >
complex<_Tp> std::operator- ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Return new complex value x minus y.

Definition at line 364 of file complex.

template<typename _Tp >
complex<_Tp> std::operator- ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x minus y.

Definition at line 373 of file complex.

template<typename _Tp >
template<typename _Up >
complex< _Tp > & std::complex< _Tp >::operator-= ( const complex< _Up > &  __z) [inherited]

Subtract z from this complex number.

Definition at line 286 of file complex.

template<typename _Tp >
complex<_Tp> std::operator/ ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Return new complex value x divided by y.

Definition at line 424 of file complex.

template<typename _Tp >
complex<_Tp> std::operator/ ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x divided by y.

Definition at line 415 of file complex.

template<typename _Tp >
complex<_Tp> std::operator/ ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Return new complex value x divided by y.

Definition at line 433 of file complex.

template<typename _Tp >
complex< _Tp > & std::complex< _Tp >::operator/= ( const _Tp &  __t) [inherited]

Divide this complex number by t.

Definition at line 254 of file complex.

template<typename _Tp >
template<typename _Up >
complex< _Tp > & std::complex< _Tp >::operator/= ( const complex< _Up > &  __z) [inherited]

Divide this complex number by z.

Definition at line 311 of file complex.

References std::norm().

template<typename _Tp , typename _CharT , class _Traits >
basic_ostream<_CharT, _Traits>& std::operator<< ( basic_ostream< _CharT, _Traits > &  __os,
const complex< _Tp > &  __x 
)
template<typename _Tp >
complex< _Tp > & std::complex< _Tp >::operator= ( const _Tp &  __t) [inherited]

Assign this complex number to scalar t.

Definition at line 234 of file complex.

template<typename _Tp >
template<typename _Up >
complex< _Tp > & std::complex< _Tp >::operator= ( const complex< _Up > &  __z) [inherited]

Assign this complex number to complex z.

Definition at line 264 of file complex.

template<typename _Tp >
constexpr bool std::operator== ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return true if x is equal to y.

Definition at line 457 of file complex.

template<typename _Tp >
constexpr bool std::operator== ( const complex< _Tp > &  __x,
const _Tp &  __y 
) [inline]

Return true if x is equal to y.

Definition at line 462 of file complex.

template<typename _Tp >
constexpr bool std::operator== ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Return true if x is equal to y.

Definition at line 467 of file complex.

template<typename _Tp , typename _CharT , class _Traits >
basic_istream<_CharT, _Traits>& std::operator>> ( basic_istream< _CharT, _Traits > &  __is,
complex< _Tp > &  __x 
)

Extraction operator for complex values.

Definition at line 492 of file complex.

References std::ios_base::failbit.

template<typename _Tp >
complex< _Tp > std::polar ( const _Tp &  __rho,
const _Tp &  __theta = 0 
) [inline]

Return complex with magnitude rho and angle theta.

Definition at line 668 of file complex.

References std::cos(), and std::sin().

Referenced by std::cosh(), and std::pow().

template<typename _Tp >
complex< _Tp > std::pow ( const complex< _Tp > &  __x,
const _Tp &  __y 
)

Return x to the y'th power.

Definition at line 990 of file complex.

References std::exp(), std::log(), and std::polar().

Referenced by std::gamma_distribution< _RealType >::operator()(), std::tr1::pow(), and std::pow().

template<typename _Tp >
complex< _Tp > std::pow ( const _Tp &  __x,
const complex< _Tp > &  __y 
) [inline]

Return x to the y'th power.

Definition at line 1035 of file complex.

References std::log(), std::polar(), and std::pow().

template<typename _Tp >
complex< _Tp > std::pow ( const complex< _Tp > &  __x,
const complex< _Tp > &  __y 
) [inline]

Return x to the y'th power.

Definition at line 1029 of file complex.

template<typename _Tp , typename _Up >
std::complex<typename __gnu_cxx::__promote_2<_Tp, _Up>::__type> std::tr1::pow ( const std::complex< _Tp > &  __x,
const _Up &  __y 
) [inline]

Additional overloads [8.1.9].

Definition at line 348 of file tr1/complex.

References std::pow().

template<typename _Tp >
complex< _Tp > std::sin ( const complex< _Tp > &  __z) [inline]

Return complex sine of z.

Definition at line 823 of file complex.

References std::cos(), std::cosh(), and std::sinh().

Referenced by std::cos(), std::polar(), and std::sqrt().

template<typename _Tp >
complex< _Tp > std::sinh ( const complex< _Tp > &  __z) [inline]

Return complex hyperbolic sine of z.

Definition at line 853 of file complex.

References std::abs(), and std::sqrt().

Referenced by std::cos(), std::sin(), and std::tan().

template<typename _Tp >
complex< _Tp > std::sqrt ( const complex< _Tp > &  __z) [inline]

Return complex square root of z.

Definition at line 897 of file complex.

References std::cos(), and std::sin().

Referenced by std::normal_distribution< _RealType >::operator()(), std::student_t_distribution< _RealType >::operator()(), and std::sinh().

template<typename _Tp >
complex< _Tp > std::tan ( const complex< _Tp > &  __z) [inline]

Return complex tangent of z.

Definition at line 924 of file complex.

References std::cosh(), and std::sinh().

template<typename _Tp >
complex< _Tp > std::tanh ( const complex< _Tp > &  __z) [inline]

Return complex hyperbolic tangent of z.

Definition at line 952 of file complex.