std:: sqrt (std::complex)
|
Definiert im Header
<complex>
|
||
|
template
<
class
T
>
std:: complex < T > sqrt ( const std:: complex < T > & z ) ; |
||
Berechnet die Quadratwurzel der komplexen Zahl z mit einem Verzweigungsschnitt entlang der negativen reellen Achse.
Inhaltsverzeichnis |
Parameter
| z | - | komplexe Zahl, von der die Quadratwurzel gezogen wird |
Rückgabewert
Wenn kein Fehler auftritt, wird die Quadratwurzel von z zurückgegeben, im Bereich der rechten Halbebene, einschließlich der imaginären Achse ( [0; +∞) entlang der reellen Achse und (−∞; +∞) entlang der imaginären Achse).
Fehlerbehandlung und spezielle Werte
Fehler werden gemeldet konsistent mit math_errhandling .
Wenn die Implementierung IEEE-Gleitkommaarithmetik unterstützt,
- Die Funktion ist auf dem Verzweigungsschnitt stetig unter Berücksichtigung des Vorzeichens des Imaginärteils
- std:: sqrt ( std:: conj ( z ) ) == std:: conj ( std:: sqrt ( z ) )
-
Wenn
z
(±0,+0)ist, ist das Ergebnis(+0,+0) -
Wenn
z
(x,+∞)ist, ist das Ergebnis(+∞,+∞)selbst wenn x NaN ist -
Wenn
z
(x,NaN)ist, ist das Ergebnis(NaN,NaN)(außer x ist ±∞) und FE_INVALID kann ausgelöst werden -
Wenn
z
(-∞,y)ist, ist das Ergebnis(+0,+∞)für endliche positive y -
Wenn
z
(+∞,y)ist, ist das Ergebnis(+∞,+0)für endliche positive y -
Wenn
z
(-∞,NaN)ist, ist das Ergebnis(NaN,∞)(Vorzeichen des Imaginärteils nicht spezifiziert) -
Wenn
z
(+∞,NaN)ist, ist das Ergebnis(+∞,NaN) -
Wenn
z
(NaN,y)ist, ist das Ergebnis(NaN,NaN)und FE_INVALID kann ausgelöst werden -
Wenn
z
(NaN,NaN)ist, ist das Ergebnis(NaN,NaN)
Hinweise
Die Semantik dieser Funktion soll konsistent mit der C-Funktion csqrt sein.
Beispiel
#include <complex> #include <iostream> int main() { std::cout << "Square root of -4 is " << std::sqrt(std::complex<double>(-4.0, 0.0)) << '\n' << "Square root of (-4,-0) is " << std::sqrt(std::complex<double>(-4.0, -0.0)) << " (the other side of the cut)\n"; }
Ausgabe:
Square root of -4 is (0,2) Square root of (-4,-0) is (0,-2) (the other side of the cut)
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 2597 | C++98 | Spezifikation behandelt negative Null-Imaginärteile falsch | fehlerhafte Anforderung entfernt |
Siehe auch
|
Komplexe Potenz, ein oder beide Argumente können eine komplexe Zahl sein
(Funktionsschablone) |
|
|
(C++11)
(C++11)
|
berechnet Quadratwurzel (
√
x
)
(Funktion) |
|
wendet die Funktion
std::sqrt
auf jedes Element des Valarray an
(Funktionsschablone) |
|
|
C-Dokumentation
für
csqrt
|
|