Skip to content
Snippets Groups Projects
Commit 91265ea8 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Define real() and imag() as functions to allow for overloading

parent 07136b8b
No related branches found
No related tags found
No related merge requests found
......@@ -62,7 +62,21 @@ typedef __complex__ double dcomplex;
#endif // lapack_int
#endif // np_int
#define imag(z) ( __imag__ (z) )
#define real(z) ( __real__ (z) )
#define dconjg(z) ( (__real__ (z) - I * (__imag__ (z))) )
/*! \brief Get the imaginary part of double precision complex number.
*
* \param z: `const dcomplex &` Reference to the complex number from
* which to extract the imaginary part.
* \return Im(z): `double` Imaginary part of z.
*/
double inline imag(const dcomplex &z) { return __imag__ z; }
/*! \brief Get the imaginary part of double precision complex number.
*
* \param z: `const dcomplex &` Reference to the complex number from
* which to extract the real part.
* \return Re(z): `double` Real part of z.
*/
double inline real(const dcomplex &z) { return __real__ z; }
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment