CPROJ(3) Library Functions Manual CPROJ(3)

cprojprojection onto the Riemann sphere

#include <complex.h>

double complex
cproj(double complex z);

long double complex
cprojl(long double complex z);

float complex
cprojf(float complex z);

(z) computes the projection of a complex floating-point number z onto the Riemann sphere: for any finite z, cproj(z) = z, but all complex infinities (including infinities with one NaN part) project to positive infinity on the real axis.

Specifically, if z = x + iy has an infinite part (one of x or y is infinity), then (z) is equivalent to INFINITY + I*copysign(0.0,cimag(z)).

cproj() projects onto the C99 "Riemann Sphere", which may not agree with the mathematical notion of the Riemann Sphere; in particular, it has two infinites (inf ± 0i) and four zeroes (±0 ± 0i).

complex(3)

The cproj() function conforms to ISO/IEC 9899:2011.

December 11, 2006 BSD 4