std:: sqrt (std::complex)
|
Défini dans l'en-tête
<complex>
|
||
|
template
<
class
T
>
std:: complex < T > sqrt ( const std:: complex < T > & z ) ; |
||
Calcule la racine carrée du nombre complexe z avec une coupure de branche le long de l'axe réel négatif.
Table des matières |
Paramètres
| z | - | nombre complexe dont on prend la racine carrée |
Valeur de retour
Si aucune erreur ne se produit, retourne la racine carrée de z , dans le domaine du demi-plan droit, incluant l'axe imaginaire ( [0; +∞) sur l'axe réel et (−∞; +∞) sur l'axe imaginaire).
Gestion des erreurs et valeurs spéciales
Les erreurs sont signalées conformément à math_errhandling .
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE,
- La fonction est continue sur la coupure de branche en tenant compte du signe de la partie imaginaire
- std:: sqrt ( std:: conj ( z ) ) == std:: conj ( std:: sqrt ( z ) )
-
Si
z
est
(±0,+0), le résultat est(+0,+0) -
Si
z
est
(x,+∞), le résultat est(+∞,+∞)même si x est NaN -
Si
z
est
(x,NaN), le résultat est(NaN,NaN)(sauf si x est ±∞) et FE_INVALID peut être déclenché -
Si
z
est
(-∞,y), le résultat est(+0,+∞)pour y positif fini -
Si
z
est
(+∞,y), le résultat est(+∞,+0)pour y positif fini -
Si
z
est
(-∞,NaN), le résultat est(NaN,∞)(signe de la partie imaginaire non spécifié) -
Si
z
est
(+∞,NaN), le résultat est(+∞,NaN) -
Si
z
est
(NaN,y), le résultat est(NaN,NaN)et FE_INVALID peut être déclenché -
Si
z
est
(NaN,NaN), le résultat est(NaN,NaN)
Notes
La sémantique de cette fonction est conçue pour être cohérente avec la fonction C csqrt .
Exemple
#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"; }
Sortie :
Square root of -4 is (0,2) Square root of (-4,-0) is (0,-2) (the other side of the cut)
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | S'applique à | Comportement tel que publié | Comportement correct |
|---|---|---|---|
| LWG 2597 | C++98 | la spécification gère mal les parties imaginaires de zéro signé | exigence erronée supprimée |
Voir aussi
|
puissance complexe, un ou les deux arguments peuvent être un nombre complexe
(modèle de fonction) |
|
|
(C++11)
(C++11)
|
calcule la racine carrée (
√
x
)
(fonction) |
|
applique la fonction
std::sqrt
à chaque élément du valarray
(modèle de fonction) |
|
|
Documentation C
pour
csqrt
|
|