From 877a3cab21f702be6e372570e278930e37fc0f06 Mon Sep 17 00:00:00 2001 From: Stathis Kamperis Date: Sat, 8 Aug 2009 08:14:52 +0300 Subject: [PATCH] cproj.3: Add missing man page. --- lib/libm/complex/Makefile.inc | 3 +- lib/libm/complex/cproj.3 | 83 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 lib/libm/complex/cproj.3 diff --git a/lib/libm/complex/Makefile.inc b/lib/libm/complex/Makefile.inc index d9d0ede339..50f9bc242a 100644 --- a/lib/libm/complex/Makefile.inc +++ b/lib/libm/complex/Makefile.inc @@ -13,7 +13,7 @@ SRCS+= cephes_subrf.c csinf.c ccosf.c ctanf.c csinhf.c ccoshf.c ctanhf.c SRCS+= casinf.c cacosf.c catanf.c casinhf.c cacoshf.c catanhf.c MAN+= cabs.3 cacos.3 cacosh.3 carg.3 casin.3 casinh.3 catan.3 catanh.3 -MAN+= ccos.3 ccosh.3 cexp.3 cimag.3 clog.3 conj.3 cpow.3 creal.3 +MAN+= ccos.3 ccosh.3 cexp.3 cimag.3 clog.3 conj.3 cpow.3 cproj.3 creal.3 MAN+= csin.3 csinh.3 csqrt.3 ctan.3 ctanh.3 MLINKS+= cabs.3 cabsf.3 cacos.3 cacosf.3 cacosh.3 cacoshf.3 @@ -21,5 +21,6 @@ MLINKS+= carg.3 cargf.3 casin.3 casinf.3 casinh.3 casinhf.3 MLINKS+= catan.3 catanf.3 catanh.3 catanhf.3 ccos.3 ccosf.3 MLINKS+= ccosh.3 ccoshf.3 cexp.3 cexpf.3 cimag.3 cimagf.3 cimag.3 cimagl.3 MLINKS+= clog.3 clogf.3 conj.3 conjf.3 conj.3 conjl.3 cpow.3 cpowf.3 +MLINKS+= cproj.3 cprojf.3 cproj.3 cprojl.3 MLINKS+= creal.3 crealf.3 creal.3 creall.3 csin.3 csinf.3 csinh.3 csinhf.3 MLINKS+= csqrt.3 csqrtf.3 ctan.3 ctanf.3 ctanh.3 ctanhf.3 diff --git a/lib/libm/complex/cproj.3 b/lib/libm/complex/cproj.3 new file mode 100644 index 0000000000..443aebacd5 --- /dev/null +++ b/lib/libm/complex/cproj.3 @@ -0,0 +1,83 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "CPROJ" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" cproj +.SH NAME +cproj, cprojf, cprojl \- complex projection functions +.SH SYNOPSIS +.LP +\fB#include +.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 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 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\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 . -- 2.11.4.GIT