libstdc++
Classes | Macros | Functions
Complex Numbers
Collaboration diagram for Complex Numbers:

Classes

class  std::complex< _Tp >
 
class  std::complex< double >
 
class  std::complex< float >
 
class  std::complex< long double >
 

Functions

template<typename _Tp >
_Tp std::__complex_abs (const complex< _Tp > &__z)
 
template<typename _Tp >
_Tp std::__complex_arg (const 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_pow_unsigned (complex< _Tp > __x, unsigned __n)
 
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 >
_Tp std::arg (const complex< _Tp > &)
 
template<typename _Tp >
std::complex< typename __gnu_cxx::__promote< _Tp >::__type > std::tr1::conj (_Tp __x)
 
template<typename _Tp >
constexpr complex< _Tp > std::conj (const complex< _Tp > &)
 
template<typename _Tp >
std::complex< _Tp > std::tr1::conj (const std::complex< _Tp > &__z)
 
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 >
constexpr _Tp std::norm (const complex< _Tp > &)
 
template<typename _Tp >
constexpr complex< _Tp > & std::complex< _Tp >::operator*= (const _Tp &__t)
 
template<typename _Up >
constexpr complex< _Tp > & std::complex< _Tp >::operator*= (const complex< _Up > &__z)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator+ (const complex< _Tp > &__x)
 
template<typename _Up >
constexpr complex< _Tp > & std::complex< _Tp >::operator+= (const complex< _Up > &__z)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator- (const complex< _Tp > &__x)
 
template<typename _Up >
constexpr complex< _Tp > & std::complex< _Tp >::operator-= (const complex< _Up > &__z)
 
template<typename _Tp >
constexpr complex< _Tp > & std::complex< _Tp >::operator/= (const _Tp &__t)
 
template<typename _Up >
constexpr complex< _Tp > & std::complex< _Tp >::operator/= (const complex< _Up > &__z)
 
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 >
constexpr complex< _Tp > & std::complex< _Tp >::operator= (const _Tp &__t)
 
template<typename _Up >
constexpr complex< _Tp > & std::complex< _Tp >::operator= (const complex< _Up > &__z)
 
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 &=_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 >
std::complex< _Tp > std::tr1::pow (const _Tp &__x, const std::complex< _Tp > &__y)
 
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 >
complex< _Tp > std::pow (const complex< _Tp > &, const _Tp &)
 
template<typename _Tp >
complex< _Tp > std::pow (const complex< _Tp > &, const complex< _Tp > &)
 
template<typename _Tp >
complex< _Tp > std::pow (const complex< _Tp > &, int)
 
template<typename _Tp >
std::complex< _Tp > std::tr1::pow (const std::complex< _Tp > &__x, const _Tp &__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 _Up &__y)
 
template<typename _Tp >
std::complex< _Tp > std::tr1::pow (const std::complex< _Tp > &__x, const std::complex< _Tp > &__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 >
requires std::requires
 
template<size_t _Int, class _Tp1 , class _Tp2 >
constexpr tuple_element< _Int, pair< _Tp1, _Tp2 > >::type & std::get (pair< _Tp1, _Tp2 > &__in) noexcept
 
template<size_t _Int, class _Tp1 , class _Tp2 >
constexpr tuple_element< _Int, pair< _Tp1, _Tp2 > >::type && std::get (pair< _Tp1, _Tp2 > &&__in) noexcept
 
template<size_t _Int, class _Tp1 , class _Tp2 >
constexpr const tuple_element< _Int, pair< _Tp1, _Tp2 > >::type & std::get (const pair< _Tp1, _Tp2 > &__in) noexcept
 
template<size_t _Int, class _Tp1 , class _Tp2 >
constexpr const tuple_element< _Int, pair< _Tp1, _Tp2 > >::type && std::get (const pair< _Tp1, _Tp2 > &&__in) noexcept
 
template<typename _Tp , typename _Up >
constexpr _Tp & std::get (pair< _Tp, _Up > &__p) noexcept
 
template<typename _Tp , typename _Up >
constexpr const _Tp & std::get (const pair< _Tp, _Up > &__p) noexcept
 
template<typename _Tp , typename _Up >
constexpr _Tp && std::get (pair< _Tp, _Up > &&__p) noexcept
 
template<typename _Tp , typename _Up >
constexpr const _Tp && std::get (const pair< _Tp, _Up > &&__p) noexcept
 
template<typename _Tp , typename _Up >
constexpr _Tp & std::get (pair< _Up, _Tp > &__p) noexcept
 
template<typename _Tp , typename _Up >
constexpr const _Tp & std::get (const pair< _Up, _Tp > &__p) noexcept
 
template<typename _Tp , typename _Up >
constexpr _Tp && std::get (pair< _Up, _Tp > &&__p) noexcept
 
template<typename _Tp , typename _Up >
constexpr const _Tp && std::get (const pair< _Up, _Tp > &&__p) noexcept
 
template<typename _Tp >
constexpr complex< _Tp > std::operator+ (const complex< _Tp > &__x, const complex< _Tp > &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator+ (const complex< _Tp > &__x, const _Tp &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator+ (const _Tp &__x, const complex< _Tp > &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator- (const complex< _Tp > &__x, const complex< _Tp > &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator- (const complex< _Tp > &__x, const _Tp &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator- (const _Tp &__x, const complex< _Tp > &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator* (const complex< _Tp > &__x, const complex< _Tp > &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator* (const complex< _Tp > &__x, const _Tp &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator* (const _Tp &__x, const complex< _Tp > &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator/ (const complex< _Tp > &__x, const complex< _Tp > &__y)
 
template<typename _Tp >
constexpr complex< _Tp > std::operator/ (const complex< _Tp > &__x, const _Tp &__y)
 
template<typename _Tp >
constexpr 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)
 

Detailed Description

Classes and functions for complex numbers.

Function Documentation

◆ abs()

template<typename _Tp >
_Tp std::abs ( const complex< _Tp > &  __z)
inline

Return magnitude of z.

Definition at line 968 of file complex.

Referenced by std::binomial_distribution< _IntType >::operator()(), and std::poisson_distribution< _IntType >::operator()().

◆ arg()

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

Return phase angle of z.

Definition at line 995 of file complex.

◆ conj()

template<typename _Tp >
constexpr complex< _Tp > std::conj ( const complex< _Tp > &  __z)
inlineconstexpr

Return complex conjugate of z.

Definition at line 1047 of file complex.

◆ cos()

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

Return complex cosine of z.

Definition at line 1079 of file complex.

◆ cosh()

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

Return complex hyperbolic cosine of z.

Definition at line 1109 of file complex.

◆ exp()

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

Return complex base e exponential of z.

Definition at line 1135 of file complex.

◆ fabs()

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

fabs(__z) [8.1.8].

Definition at line 313 of file tr1/complex.

◆ get() [1/12]

template<typename _Tp , typename _Up >
constexpr const _Tp&& std::get ( const pair< _Tp, _Up > &&  __p)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1325 of file stl_pair.h.

◆ get() [2/12]

template<typename _Tp , typename _Up >
constexpr const _Tp& std::get ( const pair< _Tp, _Up > &  __p)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1315 of file stl_pair.h.

◆ get() [3/12]

template<size_t _Int, class _Tp1 , class _Tp2 >
constexpr const tuple_element<_Int, pair<_Tp1, _Tp2> >::type&& std::get ( const pair< _Tp1, _Tp2 > &&  __in)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1303 of file stl_pair.h.

References std::move().

◆ get() [4/12]

template<size_t _Int, class _Tp1 , class _Tp2 >
constexpr const tuple_element<_Int, pair<_Tp1, _Tp2> >::type& std::get ( const pair< _Tp1, _Tp2 > &  __in)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1298 of file stl_pair.h.

◆ get() [5/12]

template<typename _Tp , typename _Up >
constexpr const _Tp&& std::get ( const pair< _Up, _Tp > &&  __p)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1345 of file stl_pair.h.

◆ get() [6/12]

template<typename _Tp , typename _Up >
constexpr const _Tp& std::get ( const pair< _Up, _Tp > &  __p)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1335 of file stl_pair.h.

◆ get() [7/12]

template<typename _Tp , typename _Up >
constexpr _Tp&& std::get ( pair< _Tp, _Up > &&  __p)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1320 of file stl_pair.h.

◆ get() [8/12]

template<typename _Tp , typename _Up >
constexpr _Tp& std::get ( pair< _Tp, _Up > &  __p)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1310 of file stl_pair.h.

◆ get() [9/12]

template<size_t _Int, class _Tp1 , class _Tp2 >
constexpr tuple_element<_Int, pair<_Tp1, _Tp2> >::type&& std::get ( pair< _Tp1, _Tp2 > &&  __in)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1293 of file stl_pair.h.

References std::move().

◆ get() [10/12]

template<size_t _Int, class _Tp1 , class _Tp2 >
constexpr tuple_element<_Int, pair<_Tp1, _Tp2> >::type& std::get ( pair< _Tp1, _Tp2 > &  __in)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1288 of file stl_pair.h.

◆ get() [11/12]

template<typename _Tp , typename _Up >
constexpr _Tp&& std::get ( pair< _Up, _Tp > &&  __p)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1340 of file stl_pair.h.

◆ get() [12/12]

template<typename _Tp , typename _Up >
constexpr _Tp& std::get ( pair< _Up, _Tp > &  __p)
constexprnoexcept

std::get overloads for accessing members of std::pair

Definition at line 1330 of file stl_pair.h.

◆ log()

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

◆ log10()

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

Return complex base 10 logarithm of z.

Definition at line 1167 of file complex.

◆ norm()

template<typename _Tp >
constexpr _Tp std::norm ( const complex< _Tp > &  __z)
inlineconstexpr

Return z magnitude squared.

Definition at line 1031 of file complex.

◆ operator*() [1/3]

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

Return new complex value x times y.

Definition at line 452 of file complex.

◆ operator*() [2/3]

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

Return new complex value x times y.

Definition at line 443 of file complex.

◆ operator*() [3/3]

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

Return new complex value x times y.

Definition at line 434 of file complex.

◆ operator+() [1/4]

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

Return new complex value x plus y.

Definition at line 392 of file complex.

◆ operator+() [2/4]

template<typename _Tp >
constexpr complex<_Tp> std::operator+ ( const complex< _Tp > &  __x)
inlineconstexpr

Return x.

Definition at line 493 of file complex.

◆ operator+() [3/4]

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

Return new complex value x plus y.

Definition at line 383 of file complex.

◆ operator+() [4/4]

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

Return new complex value x plus y.

Definition at line 374 of file complex.

◆ operator-() [1/4]

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

Return new complex value x minus y.

Definition at line 422 of file complex.

◆ operator-() [2/4]

template<typename _Tp >
constexpr complex<_Tp> std::operator- ( const complex< _Tp > &  __x)
inlineconstexpr

Return complex negation of x.

Definition at line 499 of file complex.

◆ operator-() [3/4]

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

Return new complex value x minus y.

Definition at line 413 of file complex.

◆ operator-() [4/4]

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

Return new complex value x minus y.

Definition at line 404 of file complex.

◆ operator/() [1/3]

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

Return new complex value x divided by y.

Definition at line 482 of file complex.

◆ operator/() [2/3]

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

Return new complex value x divided by y.

Definition at line 473 of file complex.

◆ operator/() [3/3]

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

Return new complex value x divided by y.

Definition at line 464 of file complex.

◆ operator<<()

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

Insertion operator for complex values.

Definition at line 543 of file complex.

◆ operator==() [1/2]

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

Return true if x is equal to y.

Definition at line 511 of file complex.

◆ operator==() [2/2]

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

Return true if x is equal to y.

Definition at line 506 of file complex.

◆ operator>>()

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 543 of file complex.

◆ polar()

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

Return complex with magnitude rho and angle theta.

Definition at line 1039 of file complex.

◆ pow() [1/5]

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 1412 of file complex.

◆ pow() [2/5]

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

Return x to the y'th power.

Definition at line 1367 of file complex.

◆ pow() [3/5]

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 1406 of file complex.

◆ pow() [4/5]

template<typename _Tp >
complex< _Tp > std::pow ( const complex< _Tp > &  __z,
int  __n 
)
inline

Return x to the y'th power.

Definition at line 1357 of file complex.

Referenced by std::gamma_distribution< _RealType >::operator()().

◆ pow() [5/5]

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 354 of file tr1/complex.

◆ sin()

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

Return complex sine of z.

Definition at line 1197 of file complex.

◆ sinh()

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

Return complex hyperbolic sine of z.

Definition at line 1227 of file complex.

◆ sqrt()

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

Return complex square root of z.

Definition at line 1271 of file complex.

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

◆ tan()

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

Return complex tangent of z.

Definition at line 1298 of file complex.

◆ tanh()

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

Return complex hyperbolic tangent of z.

Definition at line 1326 of file complex.

Variable Documentation

◆ requires

template<typename _Tp >
requires std::requires

std::get overloads for accessing members of std::pair

Definition at line 1948 of file complex.

Referenced by std::function_ref< _Res(_ArgTypes...) _GLIBCXX_MOF_CV noexcept(_Noex)>::function_ref(), and std::allocator_traits< _Alloc >::allocate_at_least().