Scroll to navigation

std::real(std::complex)(3) C++ Standard Libary std::real(std::complex)(3)

NAME

std::real(std::complex) - std::real(std::complex)

Synopsis


Defined in header <complex>
template< class T >
T real( const std::complex<T>& z (until C++14)
);
template< class T >
constexpr T real( const (since C++14)
std::complex<T>& z );
Additional overloads (since C++11)
Defined in header <complex>
float real( float f );


double real( double f ); (until C++14)


long double real( long double f );
constexpr float real( float
f ); (1)


constexpr double real( double (since C++14)
f ); (until C++23)
(A)
constexpr long double real( long
double f );
template< class FloatingPoint >
constexpr FloatingPoint real( (since C++23)
FloatingPoint f );
template< class Integer > (until C++14)
double real( Integer i );
template< class Integer > (B)
constexpr double real( Integer i (since C++14)
);


1) Returns the real part of the complex number z, i.e. z.real().


A,B) Additional overloads are provided for all integer and
floating-point types, which are treated as complex numbers with zero (since C++11)
imaginary part.

Parameters


z - complex value
f - floating-point value
i - integer value

Return value


1) The real part of z.
A) f.
B) static_cast<double>(i).

Notes


The additional overloads are not required to be provided exactly as (A,B). They only
need to be sufficient to ensure that for their argument num:


* If num has a
standard
(until C++23) floating-point type T, then std::real(num) has the same effect as
std::real(std::complex<T>(num)).
* Otherwise, if num has an integer type, then std::real(num) has the same effect
as std::real(std::complex<double>(num)).

See also


real accesses the real part of the complex number
(public member function)
imag returns the imaginary part
(function template)
C documentation for
creal

2024.06.10 http://cppreference.com