cprojf, cproj, cprojl
|
Definiert im Header
<complex.h>
|
||
| (1) | (seit C99) | |
| (2) | (seit C99) | |
| (3) | (seit C99) | |
|
Definiert im Header
<tgmath.h>
|
||
|
#define cproj( z )
|
(4) | (seit C99) |
z
auf die Riemannsche Zahlenkugel.
z
den Typ
long
double
complex
,
long
double
imaginary
oder
long
double
hat, wird
cprojl
aufgerufen. Wenn
z
den Typ
float
complex
,
float
imaginary
oder
float
hat, wird
cprojf
aufgerufen. Wenn
z
den Typ
double
complex
,
double
imaginary
,
double
oder einen beliebigen Ganzzahltyp hat, wird
cproj
aufgerufen.
Für die meisten
z
gilt
cproj
(
z
)
==
z
, aber alle komplexen Unendlichkeiten, selbst Zahlen mit einer unendlichen Komponente und NaN in der anderen, werden zu positiver reeller Unendlichkeit,
INFINITY
+
0.0
*
I
oder
INFINITY
-
0.0
*
I
. Das Vorzeichen der imaginären (Null-)Komponente entspricht dem Vorzeichen von
cimag
(
z
)
.
Inhaltsverzeichnis |
Parameter
| z | - | komplexes Argument |
Rückgabewert
Die Projektion von
z
auf die Riemannsche Zahlenkugel.
Diese Funktion ist für alle möglichen Eingaben vollständig spezifiziert und unterliegt keinen der in math_errhandling beschriebenen Fehler.
Hinweise
Die
cproj
-Funktion hilft bei der Modellierung der Riemannschen Zahlenkugel, indem sie alle Unendlichkeiten auf eins abbildet (bis auf das Vorzeichen der imaginären Null), und sollte unmittelbar vor jeder Operation verwendet werden, insbesondere bei Vergleichen, die für andere Unendlichkeiten fehlerhafte Ergebnisse liefern könnten.
Beispiel
#include <stdio.h> #include <complex.h> #include <math.h> int main(void) { double complex z1 = cproj(1 + 2*I); printf("cproj(1+2i) = %.1f%+.1fi\n", creal(z1),cimag(z1)); double complex z2 = cproj(INFINITY+2.0*I); printf("cproj(Inf+2i) = %.1f%+.1fi\n", creal(z2),cimag(z2)); double complex z3 = cproj(INFINITY-2.0*I); printf("cproj(Inf-2i) = %.1f%+.1fi\n", creal(z3),cimag(z3)); }
Ausgabe:
cproj(1+2i) = 1.0+2.0i cproj(Inf+2i) = inf+0.0i cproj(Inf-2i) = inf-0.0i
Referenzen
- C11-Norm (ISO/IEC 9899:2011):
-
- 7.3.9.5 Die cproj-Funktionen (S. 198)
-
- 7.25 Typgenerische Mathematik <tgmath.h> (S. 373-375)
-
- G.7 Typgenerische Mathematik <tgmath.h> (S. 545)
- C99-Norm (ISO/IEC 9899:1999):
-
- 7.3.9.4 Die cproj-Funktionen (S. 179)
-
- 7.22 Typgenerische Mathematik <tgmath.h> (S. 335-337)
-
- G.7 Typgenerische Mathematik <tgmath.h> (S. 480)
Siehe auch
|
C++-Dokumentation
für
proj
|