6.2.63 csqrt Function

Calculates the complex square root of a double precision complex value.

Attention: This function is implemented only by MPLAB XC32 C compilers.

Include

<complex.h>

Prototype

double complex csqrt(double complex z);

Argument

z
value for which to return the complex square root

Return Value

Returns the complex square root of z, in the right half plane, including the imaginary axis, and with a branch cut along the negative real axis.

Example

See the notes at the beginning of this chapter or section for information on using printf() or scanf() (and other functions reading and writing the stdin or stdout streams) in the example code.

#include <stdio.h>
#include <complex.h>

int main(void)
{
  double complex x, y;

  x = -2.0 + 1.0*I;
  y = csqrt(x);
  printf("The complex square root of %f + %fi is %f + %fi\n", creal(x), cimag(x), creal(y), cimag(y));
}

Example Output

The complex square root of -2.000000 + 1.000000i is 0.343561 + 1.455347i