csqrtf, csqrt, csqrtl
From cppreference.net
|
Défini dans l'en-tête
<complex.h>
|
||
| (1) | (depuis C99) | |
| (2) | (depuis C99) | |
| (3) | (depuis C99) | |
|
Défini dans l'en-tête
<tgmath.h>
|
||
|
#define sqrt( z )
|
(4) | (depuis C99) |
1-3)
Calcule la racine carrée complexe de
z
avec la coupure de branche le long de l'axe réel négatif.
4)
Macro générique de type : Si
z
est de type
long
double
complex
,
csqrtl
est appelé. Si
z
est de type
double
complex
,
csqrt
est appelé. Si
z
est de type
float
complex
,
csqrtf
est appelé. Si
z
est réel ou entier, alors la macro appelle la fonction réelle correspondante (
sqrtf
,
sqrt
,
sqrtl
). Si
z
est imaginaire, la version complexe correspondante est appelée.
Table des matières |
Paramètres
| z | - | argument complexe |
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; +∞)
le long de l'axe réel et
(−∞; +∞)
le long de 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
- csqrt ( conj ( z ) ) == conj ( csqrt ( z ) )
-
Si
zest±0+0i, le résultat est+0+0i -
Si
zestx+∞i, le résultat est+∞+∞imême si x est NaN -
Si
zestx+NaNi, le résultat estNaN+NaNi(sauf si x est ±∞) et FE_INVALID peut être déclenché -
Si
zest-∞+yi, le résultat est+0+∞ipour y positif fini -
Si
zest+∞+yi, le résultat est+∞+0i)pour y positif fini -
Si
zest-∞+NaNi, le résultat estNaN±∞i(signe de la partie imaginaire non spécifié) -
Si
zest+∞+NaNi, le résultat est+∞+NaNi -
Si
zestNaN+yi, le résultat estNaN+NaNiet FE_INVALID peut être déclenché -
Si
zestNaN+NaNi, le résultat estNaN+NaNi
Exemple
Exécuter ce code
#include <stdio.h> #include <complex.h> int main(void) { double complex z1 = csqrt(-4); printf("Square root of -4 is %.1f%+.1fi\n", creal(z1), cimag(z1)); double complex z2 = csqrt(conj(-4)); // or, in C11, CMPLX(-4, -0.0) printf("Square root of -4-0i, the other side of the cut, is " "%.1f%+.1fi\n", creal(z2), cimag(z2)); }
Sortie :
Square root of -4 is 0.0+2.0i Square root of -4-0i, the other side of the cut, is 0.0-2.0i
Références
- Norme C11 (ISO/IEC 9899:2011) :
-
- 7.3.8.3 Les fonctions csqrt (p: 196)
-
- 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
-
- G.6.4.2 Les fonctions csqrt (p: 544)
-
- G.7 Mathématiques génériques de type <tgmath.h> (p: 545)
- Norme C99 (ISO/IEC 9899:1999) :
-
- 7.3.8.3 Les fonctions csqrt (p: 178)
-
- 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
-
- G.6.4.2 Les fonctions csqrt (p: 479)
-
- G.7 Mathématiques génériques de type <tgmath.h> (p: 480)
Voir aussi
|
(C99)
(C99)
(C99)
|
calcule la fonction puissance complexe
(fonction) |
|
(C99)
(C99)
|
calcule la racine carrée (
√
x
)
(fonction) |
|
Documentation C++
pour
sqrt
|
|