The Open Group Base Specifications Issue 8
IEEE Std 1003.1-2024
Copyright © 2001-2024 The IEEE and The Open Group

NAME

csqrt, csqrtf, csqrtl — complex square root functions

SYNOPSIS

#include <complex.h>

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

DESCRIPTION

[CX] [Option Start] 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. [Option End]

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

RETURN VALUE

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

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

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

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

If z is x + iNaN where x is finite, NaN + iNaN 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 + iInf shall be returned.

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

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

If z is +Inf + iNaN, +Inf + iNaN shall be returned.

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

If z is NaN + iNaN, NaN + iNaN shall be returned. [Option End]

ERRORS

No errors are defined.


The following sections are informative.

EXAMPLES

None.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

cabs, cpow

XBD <complex.h>

CHANGE HISTORY

First released in Issue 6. Derived from the ISO/IEC 9899:1999 standard.

Issue 8

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

End of informative text.

 

return to top of page

UNIX® is a registered Trademark of The Open Group.
POSIX™ is a Trademark of The IEEE.
Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]