cimag, cimagf,
    cimagl, conj,
    conjf, conjl,
    cproj, cprojf,
    cprojl, creal,
    crealf, creall —
    functions to manipulate complex numbers
#include
    <complex.h>
double
  
  cimag(double
    complex z);
float
  
  cimagf(float
    complex z);
long double
  
  cimagl(long
    double complex z);
double complex
  
  conj(double
    complex z);
float complex
  
  conjf(float
    complex z);
long double complex
  
  conjl(long
    double complex z);
double complex
  
  cproj(double
    complex z);
float complex
  
  cprojf(float
    complex z);
long double complex
  
  cprojl(long
    double complex z);
double
  
  creal(double
    complex z);
float
  
  crealf(float
    complex z);
long double
  
  creall(long
    double complex z);
Let a+b*i denote the
    complex number z.
The
    creal()
    functions return the real part a, and the
    cimag()
    functions return the imaginary part b.
The
    conj()
    functions return the complex conjugate
    a-b*i.
The
    cproj()
    functions return the projection onto the Riemann sphere. If
    z contains an infinite component, then the result is
    infinity ± 0*i, where the
    (zero) imaginary part of the result has the same sign as
    b. Otherwise, the result is
  z.
These functions do not signal any floating point exceptions.
The cimag(),
    conj(), cproj(), and
    creal() functions conform to
    ISO/IEC 9899:1999
  (“ISO C99”).
The cimag(),
    conj() and creal() functions
    first appeared in FreeBSD 5.3. The
    cproj() functions appeared in
    FreeBSD 8.0.