diff options
Diffstat (limited to 'newlib/libm/complex/cproj.c')
-rw-r--r-- | newlib/libm/complex/cproj.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/newlib/libm/complex/cproj.c b/newlib/libm/complex/cproj.c index e46742e9e..42fc0f1e8 100644 --- a/newlib/libm/complex/cproj.c +++ b/newlib/libm/complex/cproj.c @@ -29,6 +29,45 @@ * Marco Atzeri <marco_atzeri@yahoo.it> */ +/* +FUNCTION + <<cproj>>, <<cprojf>>--- Riemann sphere projection + +INDEX + cproj +INDEX + cprojf + +ANSI_SYNOPSIS + #include <complex.h> + double complex cproj(double complex <[z]>); + float complex cprojf(float complex <[z]>); + + +DESCRIPTION + These functions compute a projection of <[z]> onto the Riemann + sphere: <[z]> projects to <[z]> except that all complex infinities + (even those with one infinite part and one NaN part) project + to positive infinity on the real axis. If <[z]> has an infinite part, + then <<cproj>>(<[z]>) is equivalent to + + INFINITY + I * copysign(0.0, cimag(z)) + + <<cprojf>> is identical to <<cproj>>, except that it performs + its calculations on <<floats complex>>. + +RETURNS + The cproj functions return the value of the projection onto + the Riemann sphere. + +PORTABILITY + <<cproj>> and <<cprojf>> are ISO C99 + +QUICKREF + <<cproj>> and <<cprojf>> are ISO C99 + +*/ + #include <sys/cdefs.h> /*__RCSID("$NetBSD: cproj.c,v 1.3 2010/09/20 17:51:38 christos Exp $"); */ |