CXPROJ 3CW "21 March 2008" "mathcw-1.00"

Table of contents


NAME

cxprojf, cxproj, cxprojl, cxprojw, cxprojq, cxprojll, cxprojdf, cxprojd, cxprojdl, cxprojdll - complex projection 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 cxprojf (cx_float result, cx_float z);

extern void cxproj (cx_double result, cx_double z);

extern void cxprojl (cx_long double result, cx_long double z);

extern void cxprojw (cx_float80 result, cx_float80 z);

extern void cxprojq (cx_float128 result, cx_float128 z);

extern void cxprojll (cx_long_long_double result, cx_long_long_double z);

extern void cxprojdf (cx_decimal_float result, cx_decimal_float z);

extern void cxprojd (cx_decimal_double result, cx_decimal_double z);

extern void cxprojdl (cx_decimal_long_double result, cx_decimal_long_double z);

extern void cxprojdll (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

Copy the complex projection onto the Riemann sphere of z, a two-element array with the real and imaginary parts in that order.

All complex values project onto themselves, except those with at least one infinite component (even if the other component is a NaN): they project onto the value Infinity + I * copysign(0.0, cimag(z)).

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


RETURN VALUES

Return the projection in the first argument. The arguments may overlap.

ERRORS

None.

SEE ALSO

cxabs(3CW), cxadd(3CW), cxarg(3CW), cxconj(3CW), cxcopy(3CW), cxdiv(3CW), cximag(3CW), cxmul(3CW), cxneg(3CW), cxreal(3CW), cxset(3CW), cxsub(3CW).