diff options
Diffstat (limited to 'man3p/cproj.3p')
-rw-r--r-- | man3p/cproj.3p | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/man3p/cproj.3p b/man3p/cproj.3p new file mode 100644 index 000000000..b2b463b2a --- /dev/null +++ b/man3p/cproj.3p @@ -0,0 +1,83 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "CPROJ" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" cproj +.SH NAME +cproj, cprojf, cprojl \- complex projection functions +.SH SYNOPSIS +.LP +\fB#include <complex.h> +.br +.sp +double complex cproj(double complex\fP \fIz\fP\fB); +.br +float complex cprojf(float complex\fP \fIz\fP\fB); +.br +long double complex cprojl(long double complex\fP \fIz\fP\fB); +.br +\fP +.SH DESCRIPTION +.LP +These functions shall compute a projection of \fIz\fP onto the Riemann +sphere: \fIz\fP projects to \fIz\fP, except that all +complex infinities (even those with one infinite part and one NaN +part) project to positive infinity on the real axis. If \fIz\fP +has an infinite part, then \fIcproj\fP( \fIz\fP) shall be equivalent +to: +.sp +.RS +.nf + +\fBINFINITY + I * copysign(0.0, cimag(z)) +\fP +.fi +.RE +.SH RETURN VALUE +.LP +These functions shall return the value of the projection onto the +Riemann sphere. +.SH ERRORS +.LP +No errors are defined. +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.LP +None. +.SH APPLICATION USAGE +.LP +None. +.SH RATIONALE +.LP +Two topologies are commonly used in complex mathematics: the complex +plane with its continuum of infinities, and the Riemann +sphere with its single infinity. The complex plane is better suited +for transcendental functions, the Riemann sphere for algebraic +functions. The complex types with their multiplicity of infinities +provide a useful (though imperfect) model for the complex plane. +The \fIcproj\fP() function helps model the Riemann sphere by mapping +all infinities to one, and should be used just before any +operation, especially comparisons, that might give spurious results +for any of the other infinities. Note that a complex value with +one infinite part and one NaN part is regarded as an infinity, not +a NaN, because if one part is infinite, the complex value is +infinite independent of the value of the other part. For the same +reason, \fIcabs\fP() +returns an infinity if its argument has an infinite part and a NaN +part. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIcarg\fP() , \fIcimag\fP() , \fIconj\fP() , \fIcreal\fP() , the +Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<complex.h>\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |