CXSQRT 3CW "12 August 2009" "mathcw-1.00"

Table of contents


NAME

cxsqrtf, cxsqrt, cxsqrtl, cxsqrtw, cxsqrtq, cxsqrtll, cxsqrtdf, cxsqrtd, cxsqrtdl, cxsqrtdll - complex square root function with real arithmetic

SYNOPSIS

cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ]

#include <mathcw.h>

#include <cxcw.h>

extern void cxsqrtf (cx_float result, cx_float z);

extern void cxsqrt (cx_double result, cx_double z);

extern void cxsqrtl (cx_long_double result, cx_long_double z);

extern void cxsqrtw (cx_float80 result, cx_float80 z);

extern void cxsqrtq (cx_float128 result, cx_float128 z);

extern void cxsqrtll (cx_long_long_double result, cx_long_long_double z);

extern void cxsqrtdf (cx_decimal_float result, cx_decimal_float z);

extern void cxsqrtd (cx_decimal_double result, cx_decimal_double z);

extern void cxsqrtdl (cx_decimal_long_double result, cx_decimal_long_double z);

extern void cxsqrtdll (cx_decimal_long_long_double result, cx_decimal_long_long_double z);

NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.


DESCRIPTION

Compute the complex square root of the complex value z, a two-element array with the real and imaginary parts in that order.

The cx family of functions provide limited support for complex arithmetic when compiler or language support for a complex type is lacking.


BRANCH CUTS

The complex square root function has a branch cut in the complex plane alone the negative real axis, so arguments of the form -|x| + 0 I produce a result of 0 + sqrt(|x|) I", while those of the form -|x| - 0 I produce a result of 0 - sqrt(|x|) I".

RETURN VALUES

Return the complex square root.

ERRORS

For finite complex arguments, the returned value is complex and finite. For infinite arguments, at least one component of the returned value is Infinity. Otherwise, for NaN arguments, at least one component of the returned value is a quiet NaN.

SEE ALSO

cxcbrt(3CW), cxpow(3CW).