CSQRT(3) Library Functions Manual CSQRT(3)

csqrt csqrtf csqrtlcomplex square root functions

#include <complex.h>

double complex csqrt(double complex z);
float complex csqrtf(float complex z);
long double complex csqrtl(long double complex z);

The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2024 defers to the ISO C standard.

These functions shall compute the complex square root of z, with a branch cut along the negative real axis.

These functions shall return the complex square root value, in the range of the right half-plane (including the imaginary axis).

csqrt ( z csqrtf ( conjf ( z)), and csqrtl ( conjl ( z)) shall return exactly the same value as ( csqrt ( z)), conjf ( csqrtf ( z)), and conjl ( csqrtl ( z)), respectively, including for the special values of z below.

If z is ±0 + i 0, +0 + i 0 shall be returned.

If the imaginary part of z is Inf, +Inf + i Inf, shall be returned.

If z is x + i NaN where x is finite, NaN + i NaN shall be returned and the invalid floating-point exception may be raised.

If z is -Inf + iy where y is positive-signed and finite, +0 + i Inf shall be returned.

If z is +Inf + iy where y is positive-signed and finite, +Inf + i 0 shall be returned.

If z is -Inf + i NaN, NaN ± i Inf shall be returned; the sign of the imaginary part of the result is unspecified.

If z is +Inf + i NaN, +Inf + i NaN shall be returned.

If z is NaN + iy where y is finite, NaN + i NaN shall be returned and the invalid floating-point exception may be raised.

If z is NaN + i NaN, NaN + i NaN shall be returned.

No errors are defined.

None.

None.

None.

None.

cabs(3), cpow(3)

XBD <complex.h>

First released in Issue 6. Derived from the ISO/IEC 9899:1999 (“ISO C99”) standard.

Austin Group Defect 1302 is applied, aligning these functions with the ISO/IEC 9899:2018 standard.

June 14, 2024 posix.fail